home *** CD-ROM | disk | FTP | other *** search
/ Developer CD Series 1997 July: Mac OS SDK / Dev.CD Jul 97 SDK2.toast / Development Kits (Disc 2) / QuickTime / QuickTime™ 2.5 / Interfaces for Programmers / AIncludes / ImageCompression.a < prev    next >
Encoding:
Text File  |  1997-02-26  |  67.6 KB  |  2,800 lines  |  [TEXT/MPS ]

  1. ;
  2. ;    File:        ImageCompression.a
  3. ;
  4. ;    Contains:    QuickTime interfaces
  5. ;
  6. ;    Version:    Technology:    
  7. ;                Release:    QuickTime 2.5 interfaces to use with ETO #20
  8. ;
  9. ;    Copyright:    © 1984-1996 by Apple Computer, Inc.  All rights reserved.
  10. ;
  11. ;    Bugs?:        If you find a problem with this file, send the file and version
  12. ;                information (from above) and the problem description to:
  13. ;
  14. ;                    Internet:    apple.bugs@applelink.apple.com
  15. ;                    AppleLink:    APPLE.BUGS
  16. ;
  17. ;
  18.     IF &TYPE('__IMAGECOMPRESSION__') = 'UNDEFINED' THEN
  19. __IMAGECOMPRESSION__ SET 1
  20.  
  21.     IF &TYPE('__TYPES__') = 'UNDEFINED' THEN
  22.     include 'Types.a'
  23.     ENDIF
  24.     IF &TYPE('__QUICKDRAW__') = 'UNDEFINED' THEN
  25.     include 'Quickdraw.a'
  26.     ENDIF
  27.     IF &TYPE('__QDOFFSCREEN__') = 'UNDEFINED' THEN
  28.     include 'QDOffscreen.a'
  29.     ENDIF
  30.     IF &TYPE('__COMPONENTS__') = 'UNDEFINED' THEN
  31.     include 'Components.a'
  32.     ENDIF
  33.     IF &TYPE('__WINDOWS__') = 'UNDEFINED' THEN
  34.     include 'Windows.a'
  35.     ENDIF
  36.     IF &TYPE('__STANDARDFILE__') = 'UNDEFINED' THEN
  37.     include 'StandardFile.a'
  38.     ENDIF
  39. MatrixRecord            RECORD 0
  40. matrix                     ds.l    3 * 3            ; offset: $0 (0)
  41. sizeof                     EQU *                    ; size:   $24 (36)
  42.                         ENDR
  43. ; typedef struct MatrixRecord *            MatrixRecordPtr
  44.  
  45. FixedPoint                RECORD 0
  46. x                         ds.l    1                ; offset: $0 (0)
  47. y                         ds.l    1                ; offset: $4 (4)
  48. sizeof                     EQU *                    ; size:   $8 (8)
  49.                         ENDR
  50. FixedRect                RECORD 0
  51. left                     ds.l    1                ; offset: $0 (0)
  52. top                         ds.l    1                ; offset: $4 (4)
  53. right                     ds.l    1                ; offset: $8 (8)
  54. bottom                     ds.l    1                ; offset: $C (12)
  55. sizeof                     EQU *                    ; size:   $10 (16)
  56.                         ENDR
  57.  
  58. kRawCodecType                    EQU        'raw '
  59. kCinepakCodecType                EQU        'cvid'
  60. kGraphicsCodecType                EQU        'smc '
  61. kAnimationCodecType                EQU        'rle '
  62. kVideoCodecType                    EQU        'rpza'
  63. kComponentVideoCodecType        EQU        'yuv2'
  64. kJPEGCodecType                    EQU        'jpeg'
  65. kMotionJPEGACodecType            EQU        'mjpa'
  66. kMotionJPEGBCodecType            EQU        'mjpb'
  67. kSGICodecType                    EQU        '.SGI'
  68. kPlanarRGBCodecType                EQU        '8BPS'
  69. kMacPaintCodecType                EQU        'PNTG'
  70. kGIFCodecType                    EQU        'gif '
  71. kPhotoCDCodecType                EQU        'kpcd'
  72. kQuickDrawGXCodecType            EQU        'qdgx'
  73. ;  These are the bits that are set in the Component flags, and also in the codecInfo struct. 
  74.  
  75. codecInfoDoes1                    EQU        $00000001
  76. codecInfoDoes2                    EQU        $00000002
  77. codecInfoDoes4                    EQU        $00000004
  78. codecInfoDoes8                    EQU        $00000008
  79. codecInfoDoes16                    EQU        $00000010
  80. codecInfoDoes32                    EQU        $00000020
  81. codecInfoDoesDither                EQU        $00000040
  82. codecInfoDoesStretch            EQU        $00000080
  83. codecInfoDoesShrink                EQU        $00000100
  84. codecInfoDoesMask                EQU        $00000200
  85. codecInfoDoesTemporal            EQU        $00000400
  86. codecInfoDoesDouble                EQU        $00000800
  87. codecInfoDoesQuad                EQU        $00001000
  88. codecInfoDoesHalf                EQU        $00002000
  89. codecInfoDoesQuarter            EQU        $00004000
  90. codecInfoDoesRotate                EQU        $00008000
  91. codecInfoDoesHorizFlip            EQU        $00010000
  92. codecInfoDoesVertFlip            EQU        $00020000
  93. codecInfoDoesSkew                EQU        $00040000
  94. codecInfoDoesBlend                EQU        $00080000
  95. codecInfoDoesWarp                EQU        $00100000
  96. codecInfoDoesRecompress            EQU        $00200000
  97. codecInfoDoesSpool                EQU        $00400000
  98. codecInfoDoesRateConstrain        EQU        $00800000
  99.  
  100. codecInfoDepth1                    EQU        $00000001
  101. codecInfoDepth2                    EQU        $00000002
  102. codecInfoDepth4                    EQU        $00000004
  103. codecInfoDepth8                    EQU        $00000008
  104. codecInfoDepth16                EQU        $00000010
  105. codecInfoDepth32                EQU        $00000020
  106. codecInfoDepth24                EQU        $00000040
  107. codecInfoDepth33                EQU        $00000080
  108. codecInfoDepth34                EQU        $00000100
  109. codecInfoDepth36                EQU        $00000200
  110. codecInfoDepth40                EQU        $00000400
  111. codecInfoStoresClut                EQU        $00000800
  112. codecInfoDoesLossless            EQU        $00001000
  113. codecInfoSequenceSensitive        EQU        $00002000
  114.  
  115. codecFlagUseImageBuffer            EQU        $00000001
  116. codecFlagUseScreenBuffer        EQU        $00000002
  117. codecFlagUpdatePrevious            EQU        $00000004
  118. codecFlagNoScreenUpdate            EQU        $00000008
  119. codecFlagWasCompressed            EQU        $00000010
  120. codecFlagDontOffscreen            EQU        $00000020
  121. codecFlagUpdatePreviousComp        EQU        $00000040
  122. codecFlagForceKeyFrame            EQU        $00000080
  123. codecFlagOnlyScreenUpdate        EQU        $00000100
  124. codecFlagLiveGrab                EQU        $00000200
  125. codecFlagDontUseNewImageBuffer    EQU        $00000400
  126. codecFlagInterlaceUpdate        EQU        $00000800
  127. codecFlagCatchUpDiff            EQU        $00001000
  128. codecFlagImageBufferNotSourceImage EQU    $00002000
  129. codecFlagUsedNewImageBuffer        EQU        $00004000
  130. codecFlagUsedImageBuffer        EQU        $00008000
  131.  
  132. codecNoMemoryPleaseWaitErr        EQU        -8977
  133.  
  134.                                                             ; The minimum data size for spooling in or out data 
  135. codecMinimumDataSize            EQU        32768
  136.  
  137. compressorComponentType            EQU        'imco'                ; the type for "Components" which compress images 
  138. decompressorComponentType        EQU        'imdc'                ; the type for "Components" which decompress images 
  139. ; typedef Component                     CompressorComponent
  140.  
  141. ; typedef Component                     DecompressorComponent
  142.  
  143. ; typedef Component                     CodecComponent
  144.  
  145.  
  146. anyCodec                        EQU        0                    ; take first working codec of given type 
  147. bestSpeedCodec                    EQU        -1                    ; take fastest codec of given type 
  148. bestFidelityCodec                EQU        -2                    ; take codec which is most accurate 
  149. bestCompressionCodec            EQU        -3                    ; take codec of given type that is most accurate 
  150. ; typedef long                             CodecType
  151.  
  152. ; typedef unsigned short                 CodecFlags
  153.  
  154. ; typedef unsigned long                 CodecQ
  155.  
  156.  
  157. codecLosslessQuality            EQU        $00000400
  158. codecMaxQuality                    EQU        $000003FF
  159. codecMinQuality                    EQU        $00000000
  160. codecLowQuality                    EQU        $00000100
  161. codecNormalQuality                EQU        $00000200
  162. codecHighQuality                EQU        $00000300
  163.  
  164. codecCompletionSource            EQU        $01                    ; asynchronous codec is done with source data 
  165. codecCompletionDest                EQU        $02                    ; asynchronous codec is done with destination data 
  166. codecCompletionDontUnshield        EQU        $04                    ; on dest complete don't unshield cursor 
  167.  
  168. codecProgressOpen                EQU        0
  169. codecProgressUpdatePercent        EQU        1
  170. codecProgressClose                EQU        2
  171. ; typedef void *                        ICMCursorNotify
  172.  
  173. ; typedef long                             ImageSequence
  174.  
  175. ; typedef long                             ImageSequenceDataSource
  176.  
  177. ; typedef long                             ImageTranscodeSequence
  178.  
  179. ; typedef long                             ImageFieldSequence
  180.  
  181. ICMProgressProcRecord    RECORD 0
  182. progressProc             ds.l    1                ; offset: $0 (0)
  183. progressRefCon             ds.l    1                ; offset: $4 (4)
  184. sizeof                     EQU *                    ; size:   $8 (8)
  185.                         ENDR
  186. ; typedef struct ICMProgressProcRecord * ICMProgressProcRecordPtr
  187.  
  188. ICMCompletionProcRecord    RECORD 0
  189. completionProc             ds.l    1                ; offset: $0 (0)
  190. completionRefCon         ds.l    1                ; offset: $4 (4)
  191. sizeof                     EQU *                    ; size:   $8 (8)
  192.                         ENDR
  193. ; typedef struct ICMCompletionProcRecord * ICMCompletionProcRecordPtr
  194.  
  195. ICMDataProcRecord        RECORD 0
  196. dataProc                 ds.l    1                ; offset: $0 (0)
  197. dataRefCon                 ds.l    1                ; offset: $4 (4)
  198. sizeof                     EQU *                    ; size:   $8 (8)
  199.                         ENDR
  200. ; typedef struct ICMDataProcRecord *    ICMDataProcRecordPtr
  201.  
  202. ICMFlushProcRecord        RECORD 0
  203. flushProc                 ds.l    1                ; offset: $0 (0)
  204. flushRefCon                 ds.l    1                ; offset: $4 (4)
  205. sizeof                     EQU *                    ; size:   $8 (8)
  206.                         ENDR
  207. ; typedef struct ICMFlushProcRecord *    ICMFlushProcRecordPtr
  208.  
  209. ICMAlignmentProcRecord    RECORD 0
  210. alignmentProc             ds.l    1                ; offset: $0 (0)
  211. alignmentRefCon             ds.l    1                ; offset: $4 (4)
  212. sizeof                     EQU *                    ; size:   $8 (8)
  213.                         ENDR
  214. ; typedef struct ICMAlignmentProcRecord * ICMAlignmentProcRecordPtr
  215.  
  216. DataRateParams            RECORD 0
  217. dataRate                 ds.l    1                ; offset: $0 (0)
  218. dataOverrun                 ds.l    1                ; offset: $4 (4)
  219. frameDuration             ds.l    1                ; offset: $8 (8)
  220. keyFrameRate             ds.l    1                ; offset: $C (12)
  221. minSpatialQuality         ds.l    1                ; offset: $10 (16)
  222. minTemporalQuality         ds.l    1                ; offset: $14 (20)
  223. sizeof                     EQU *                    ; size:   $18 (24)
  224.                         ENDR
  225. ; typedef struct DataRateParams *        DataRateParamsPtr
  226.  
  227. ImageDescription        RECORD 0
  228. idSize                     ds.l    1                ; offset: $0 (0)        ;  total size of ImageDescription including extra data ( CLUTs and other per sequence data ) 
  229. cType                     ds.l    1                ; offset: $4 (4)        ;  what kind of codec compressed this data 
  230. resvd1                     ds.l    1                ; offset: $8 (8)        ;  reserved for Apple use 
  231. resvd2                     ds.w    1                ; offset: $C (12)        ;  reserved for Apple use 
  232. dataRefIndex             ds.w    1                ; offset: $E (14)        ;  set to zero  
  233. version                     ds.w    1                ; offset: $10 (16)        ;  which version is this data 
  234. revisionLevel             ds.w    1                ; offset: $12 (18)        ;  what version of that codec did this 
  235. vendor                     ds.l    1                ; offset: $14 (20)        ;  whose  codec compressed this data 
  236. temporalQuality             ds.l    1                ; offset: $18 (24)        ;  what was the temporal quality factor  
  237. spatialQuality             ds.l    1                ; offset: $1C (28)        ;  what was the spatial quality factor 
  238. width                     ds.w    1                ; offset: $20 (32)        ;  how many pixels wide is this data 
  239. height                     ds.w    1                ; offset: $22 (34)        ;  how many pixels high is this data 
  240. hRes                     ds.l    1                ; offset: $24 (36)        ;  horizontal resolution 
  241. vRes                     ds.l    1                ; offset: $28 (40)        ;  vertical resolution 
  242. dataSize                 ds.l    1                ; offset: $2C (44)        ;  if known, the size of data for this image descriptor 
  243. frameCount                 ds.w    1                ; offset: $30 (48)        ;  number of frames this description applies to 
  244. name                     ds        Str31            ; offset: $32 (50)        ;  name of codec ( in case not installed )  
  245. depth                     ds.w    1                ; offset: $52 (82)        ;  what depth is this data (1-32) or ( 33-40 grayscale ) 
  246. clutID                     ds.w    1                ; offset: $54 (84)        ;  clut id or if 0 clut follows  or -1 if no clut 
  247. sizeof                     EQU *                    ; size:   $56 (86)
  248.                         ENDR
  249. ; typedef struct ImageDescription *        ImageDescriptionPtr
  250.  
  251. ; typedef ImageDescriptionPtr *            ImageDescriptionHandle
  252.  
  253. CodecInfo                RECORD 0
  254. typeName                 ds        Str31            ; offset: $0 (0)        ;  name of the codec type i.e.: 'Apple Image Compression' 
  255. version                     ds.w    1                ; offset: $20 (32)        ;  version of the codec data that this codec knows about 
  256. revisionLevel             ds.w    1                ; offset: $22 (34)        ;  revision level of this codec i.e: 0x00010001 (1.0.1) 
  257. vendor                     ds.l    1                ; offset: $24 (36)        ;  Maker of this codec i.e: 'appl' 
  258. decompressFlags             ds.l    1                ; offset: $28 (40)        ;  codecInfo flags for decompression capabilities 
  259. compressFlags             ds.l    1                ; offset: $2C (44)        ;  codecInfo flags for compression capabilities 
  260. formatFlags                 ds.l    1                ; offset: $30 (48)        ;  codecInfo flags for compression format details 
  261. compressionAccuracy         ds.b    1                ; offset: $34 (52)        ;  measure (1-255) of accuracy of this codec for compress (0 if unknown) 
  262. decompressionAccuracy     ds.b    1                ; offset: $35 (53)        ;  measure (1-255) of accuracy of this codec for decompress (0 if unknown) 
  263. compressionSpeed         ds.w    1                ; offset: $36 (54)        ;  ( millisecs for compressing 320x240 on base mac II) (0 if unknown)  
  264. decompressionSpeed         ds.w    1                ; offset: $38 (56)        ;  ( millisecs for decompressing 320x240 on mac II)(0 if unknown)  
  265. compressionLevel         ds.b    1                ; offset: $3A (58)        ;  measure (1-255) of compression level of this codec (0 if unknown)  
  266. resvd                     ds.b    1                ; offset: $3B (59)        ;  pad 
  267. minimumHeight             ds.w    1                ; offset: $3C (60)        ;  minimum height of image (block size) 
  268. minimumWidth             ds.w    1                ; offset: $3E (62)        ;  minimum width of image (block size) 
  269. decompressPipelineLatency  ds.w    1                ; offset: $40 (64)        ;  in milliseconds ( for asynchronous codecs ) 
  270. compressPipelineLatency     ds.w    1                ; offset: $42 (66)        ;  in milliseconds ( for asynchronous codecs ) 
  271. privateData                 ds.l    1                ; offset: $44 (68)
  272. sizeof                     EQU *                    ; size:   $48 (72)
  273.                         ENDR
  274. CodecNameSpec            RECORD 0
  275. codec                     ds.l    1                ; offset: $0 (0)
  276. cType                     ds.l    1                ; offset: $4 (4)
  277. typeName                 ds        Str31            ; offset: $8 (8)
  278. name                     ds.l    1                ; offset: $28 (40)
  279. sizeof                     EQU *                    ; size:   $2C (44)
  280.                         ENDR
  281. CodecNameSpecList        RECORD 0
  282. count                     ds.w    1                ; offset: $0 (0)
  283. list                     ds        CodecNameSpec    ; offset: $2 (2) <-- really an array of length one
  284. sizeof                     EQU *                    ; size:   $2E (46)
  285.                         ENDR
  286. ; typedef struct CodecNameSpecList *    CodecNameSpecListPtr
  287.  
  288.  
  289. defaultDither                    EQU        0
  290. forceDither                        EQU        1
  291. suppressDither                    EQU        2
  292. useColorMatching                EQU        4
  293.  
  294. callStdBits                        EQU        1
  295. callOldBits                        EQU        2
  296. noDefaultOpcodes                EQU        4
  297.  
  298. graphicsModeStraightAlpha        EQU        256
  299. graphicsModePreWhiteAlpha        EQU        257
  300. graphicsModePreBlackAlpha        EQU        258
  301. graphicsModeCompostion            EQU        259
  302. graphicsModeStraightAlphaBlend    EQU        260
  303.  
  304. evenField1ToEvenFieldOut        EQU        $01
  305. evenField1ToOddFieldOut            EQU        $02
  306. oddField1ToEvenFieldOut            EQU        $04
  307. oddField1ToOddFieldOut            EQU        $08
  308. evenField2ToEvenFieldOut        EQU        $10
  309. evenField2ToOddFieldOut            EQU        $20
  310. oddField2ToEvenFieldOut            EQU        $40
  311. oddField2ToOddFieldOut            EQU        $80
  312. ICMFrameTimeRecord        RECORD 0
  313. value                     ds        wide            ; offset: $0 (0)        ;  frame time
  314. scale                     ds.l    1                ; offset: $8 (8)        ;  timescale of value/duration fields
  315. base                     ds.l    1                ; offset: $C (12)        ;  timebase
  316. duration                 ds.l    1                ; offset: $10 (16)        ;  duration frame is to be displayed (0 if unknown)
  317. rate                     ds.l    1                ; offset: $14 (20)        ;  rate of timebase relative to wall-time
  318. recordSize                 ds.l    1                ; offset: $18 (24)        ;  total number of bytes in ICMFrameTimeRecord
  319. frameNumber                 ds.l    1                ; offset: $1C (28)        ;  number of frame, zero if not known
  320. sizeof                     EQU *                    ; size:   $20 (32)
  321.                         ENDR
  322. ; typedef struct ICMFrameTimeRecord *    ICMFrameTimePtr
  323.  
  324. ;
  325. ; pascal OSErr CodecManagerVersion(long *version)
  326. ;
  327.     IF ¬ GENERATINGCFM THEN
  328.         Macro
  329.         _CodecManagerVersion
  330.             moveq               #0,d0
  331.             dc.w                $AAA3
  332.         EndM
  333.     ELSE
  334.         IMPORT_CFM_FUNCTION CodecManagerVersion
  335.     ENDIF
  336.  
  337. ;
  338. ; pascal OSErr GetCodecNameList(CodecNameSpecListPtr *list, short showAll)
  339. ;
  340.     IF ¬ GENERATINGCFM THEN
  341.         Macro
  342.         _GetCodecNameList
  343.             moveq               #1,d0
  344.             dc.w                $AAA3
  345.         EndM
  346.     ELSE
  347.         IMPORT_CFM_FUNCTION GetCodecNameList
  348.     ENDIF
  349.  
  350. ;
  351. ; pascal OSErr DisposeCodecNameList(CodecNameSpecListPtr list)
  352. ;
  353.     IF ¬ GENERATINGCFM THEN
  354.         Macro
  355.         _DisposeCodecNameList
  356.             moveq               #15,d0
  357.             dc.w                $AAA3
  358.         EndM
  359.     ELSE
  360.         IMPORT_CFM_FUNCTION DisposeCodecNameList
  361.     ENDIF
  362.  
  363. ;
  364. ; pascal OSErr GetCodecInfo(CodecInfo *info, CodecType cType, CodecComponent codec)
  365. ;
  366.     IF ¬ GENERATINGCFM THEN
  367.         Macro
  368.         _GetCodecInfo
  369.             moveq               #3,d0
  370.             dc.w                $AAA3
  371.         EndM
  372.     ELSE
  373.         IMPORT_CFM_FUNCTION GetCodecInfo
  374.     ENDIF
  375.  
  376. ;
  377. ; pascal OSErr GetMaxCompressionSize(PixMapHandle src, const Rect *srcRect, short colorDepth, CodecQ quality, CodecType cType, CompressorComponent codec, long *size)
  378. ;
  379.     IF ¬ GENERATINGCFM THEN
  380.         Macro
  381.         _GetMaxCompressionSize
  382.             moveq               #4,d0
  383.             dc.w                $AAA3
  384.         EndM
  385.     ELSE
  386.         IMPORT_CFM_FUNCTION GetMaxCompressionSize
  387.     ENDIF
  388.  
  389. ;
  390. ; pascal OSErr GetCSequenceMaxCompressionSize(ImageSequence seqID, PixMapHandle src, long *size)
  391. ;
  392.     IF ¬ GENERATINGCFM THEN
  393.         Macro
  394.         _GetCSequenceMaxCompressionSize
  395.             dc.w                $203C
  396.             dc.w                $000C
  397.             dc.w                $0074
  398.             dc.w                $AAA3
  399.         EndM
  400.     ELSE
  401.         IMPORT_CFM_FUNCTION GetCSequenceMaxCompressionSize
  402.     ENDIF
  403.  
  404. ;
  405. ; pascal OSErr GetCompressionTime(PixMapHandle src, const Rect *srcRect, short colorDepth, CodecType cType, CompressorComponent codec, CodecQ *spatialQuality, CodecQ *temporalQuality, unsigned long *compressTime)
  406. ;
  407.     IF ¬ GENERATINGCFM THEN
  408.         Macro
  409.         _GetCompressionTime
  410.             moveq               #5,d0
  411.             dc.w                $AAA3
  412.         EndM
  413.     ELSE
  414.         IMPORT_CFM_FUNCTION GetCompressionTime
  415.     ENDIF
  416.  
  417. ;
  418. ; pascal OSErr CompressImage(PixMapHandle src, const Rect *srcRect, CodecQ quality, CodecType cType, ImageDescriptionHandle desc, Ptr data)
  419. ;
  420.     IF ¬ GENERATINGCFM THEN
  421.         Macro
  422.         _CompressImage
  423.             moveq               #6,d0
  424.             dc.w                $AAA3
  425.         EndM
  426.     ELSE
  427.         IMPORT_CFM_FUNCTION CompressImage
  428.     ENDIF
  429.  
  430. ;
  431. ; pascal OSErr FCompressImage(PixMapHandle src, const Rect *srcRect, short colorDepth, CodecQ quality, CodecType cType, CompressorComponent codec, CTabHandle ctable, CodecFlags flags, long bufferSize, ICMFlushProcRecordPtr flushProc, ICMProgressProcRecordPtr progressProc, ImageDescriptionHandle desc, Ptr data)
  432. ;
  433.     IF ¬ GENERATINGCFM THEN
  434.         Macro
  435.         _FCompressImage
  436.             moveq               #7,d0
  437.             dc.w                $AAA3
  438.         EndM
  439.     ELSE
  440.         IMPORT_CFM_FUNCTION FCompressImage
  441.     ENDIF
  442.  
  443. ;
  444. ; pascal OSErr DecompressImage(Ptr data, ImageDescriptionHandle desc, PixMapHandle dst, const Rect *srcRect, const Rect *dstRect, short mode, RgnHandle mask)
  445. ;
  446.     IF ¬ GENERATINGCFM THEN
  447.         Macro
  448.         _DecompressImage
  449.             moveq               #8,d0
  450.             dc.w                $AAA3
  451.         EndM
  452.     ELSE
  453.         IMPORT_CFM_FUNCTION DecompressImage
  454.     ENDIF
  455.  
  456. ;
  457. ; pascal OSErr FDecompressImage(Ptr data, ImageDescriptionHandle desc, PixMapHandle dst, const Rect *srcRect, MatrixRecordPtr matrix, short mode, RgnHandle mask, PixMapHandle matte, const Rect *matteRect, CodecQ accuracy, DecompressorComponent codec, long bufferSize, ICMDataProcRecordPtr dataProc, ICMProgressProcRecordPtr progressProc)
  458. ;
  459.     IF ¬ GENERATINGCFM THEN
  460.         Macro
  461.         _FDecompressImage
  462.             moveq               #9,d0
  463.             dc.w                $AAA3
  464.         EndM
  465.     ELSE
  466.         IMPORT_CFM_FUNCTION FDecompressImage
  467.     ENDIF
  468.  
  469. ;
  470. ; pascal OSErr CompressSequenceBegin(ImageSequence *seqID, PixMapHandle src, PixMapHandle prev, const Rect *srcRect, const Rect *prevRect, short colorDepth, CodecType cType, CompressorComponent codec, CodecQ spatialQuality, CodecQ temporalQuality, long keyFrameRate, CTabHandle ctable, CodecFlags flags, ImageDescriptionHandle desc)
  471. ;
  472.     IF ¬ GENERATINGCFM THEN
  473.         Macro
  474.         _CompressSequenceBegin
  475.             moveq               #10,d0
  476.             dc.w                $AAA3
  477.         EndM
  478.     ELSE
  479.         IMPORT_CFM_FUNCTION CompressSequenceBegin
  480.     ENDIF
  481.  
  482. ;
  483. ; pascal OSErr CompressSequenceFrame(ImageSequence seqID, PixMapHandle src, const Rect *srcRect, CodecFlags flags, Ptr data, long *dataSize, UInt8 *similarity, ICMCompletionProcRecordPtr asyncCompletionProc)
  484. ;
  485.     IF ¬ GENERATINGCFM THEN
  486.         Macro
  487.         _CompressSequenceFrame
  488.             moveq               #11,d0
  489.             dc.w                $AAA3
  490.         EndM
  491.     ELSE
  492.         IMPORT_CFM_FUNCTION CompressSequenceFrame
  493.     ENDIF
  494.  
  495. ;
  496. ; pascal OSErr DecompressSequenceBegin(ImageSequence *seqID, ImageDescriptionHandle desc, CGrafPtr port, GDHandle gdh, const Rect *srcRect, MatrixRecordPtr matrix, short mode, RgnHandle mask, CodecFlags flags, CodecQ accuracy, DecompressorComponent codec)
  497. ;
  498.     IF ¬ GENERATINGCFM THEN
  499.         Macro
  500.         _DecompressSequenceBegin
  501.             moveq               #13,d0
  502.             dc.w                $AAA3
  503.         EndM
  504.     ELSE
  505.         IMPORT_CFM_FUNCTION DecompressSequenceBegin
  506.     ENDIF
  507.  
  508. ;
  509. ; pascal OSErr DecompressSequenceBeginS(ImageSequence *seqID, ImageDescriptionHandle desc, Ptr data, long dataSize, CGrafPtr port, GDHandle gdh, const Rect *srcRect, MatrixRecordPtr matrix, short mode, RgnHandle mask, CodecFlags flags, CodecQ accuracy, DecompressorComponent codec)
  510. ;
  511.     IF ¬ GENERATINGCFM THEN
  512.         Macro
  513.         _DecompressSequenceBeginS
  514.             dc.w                $203C
  515.             dc.w                $0030
  516.             dc.w                $005D
  517.             dc.w                $AAA3
  518.         EndM
  519.     ELSE
  520.         IMPORT_CFM_FUNCTION DecompressSequenceBeginS
  521.     ENDIF
  522.  
  523. ;
  524. ; pascal OSErr DecompressSequenceFrame(ImageSequence seqID, Ptr data, CodecFlags inFlags, CodecFlags *outFlags, ICMCompletionProcRecordPtr asyncCompletionProc)
  525. ;
  526.     IF ¬ GENERATINGCFM THEN
  527.         Macro
  528.         _DecompressSequenceFrame
  529.             moveq               #14,d0
  530.             dc.w                $AAA3
  531.         EndM
  532.     ELSE
  533.         IMPORT_CFM_FUNCTION DecompressSequenceFrame
  534.     ENDIF
  535.  
  536. ;
  537. ; pascal OSErr DecompressSequenceFrameS(ImageSequence seqID, Ptr data, long dataSize, CodecFlags inFlags, CodecFlags *outFlags, ICMCompletionProcRecordPtr asyncCompletionProc)
  538. ;
  539.     IF ¬ GENERATINGCFM THEN
  540.         Macro
  541.         _DecompressSequenceFrameS
  542.             dc.w                $203C
  543.             dc.w                $0016
  544.             dc.w                $0047
  545.             dc.w                $AAA3
  546.         EndM
  547.     ELSE
  548.         IMPORT_CFM_FUNCTION DecompressSequenceFrameS
  549.     ENDIF
  550.  
  551. ;
  552. ; pascal OSErr DecompressSequenceFrameWhen(ImageSequence seqID, Ptr data, long dataSize, CodecFlags inFlags, CodecFlags *outFlags, ICMCompletionProcRecordPtr asyncCompletionProc, const ICMFrameTimeRecord *frameTime)
  553. ;
  554.     IF ¬ GENERATINGCFM THEN
  555.         Macro
  556.         _DecompressSequenceFrameWhen
  557.             dc.w                $203C
  558.             dc.w                $001A
  559.             dc.w                $005E
  560.             dc.w                $AAA3
  561.         EndM
  562.     ELSE
  563.         IMPORT_CFM_FUNCTION DecompressSequenceFrameWhen
  564.     ENDIF
  565.  
  566. ;
  567. ; pascal OSErr CDSequenceFlush(ImageSequence seqID)
  568. ;
  569.     IF ¬ GENERATINGCFM THEN
  570.         Macro
  571.         _CDSequenceFlush
  572.             dc.w                $203C
  573.             dc.w                $0004
  574.             dc.w                $005F
  575.             dc.w                $AAA3
  576.         EndM
  577.     ELSE
  578.         IMPORT_CFM_FUNCTION CDSequenceFlush
  579.     ENDIF
  580.  
  581. ;
  582. ; pascal OSErr SetDSequenceMatrix(ImageSequence seqID, MatrixRecordPtr matrix)
  583. ;
  584.     IF ¬ GENERATINGCFM THEN
  585.         Macro
  586.         _SetDSequenceMatrix
  587.             moveq               #16,d0
  588.             dc.w                $AAA3
  589.         EndM
  590.     ELSE
  591.         IMPORT_CFM_FUNCTION SetDSequenceMatrix
  592.     ENDIF
  593.  
  594. ;
  595. ; pascal OSErr SetDSequenceMatte(ImageSequence seqID, PixMapHandle matte, const Rect *matteRect)
  596. ;
  597.     IF ¬ GENERATINGCFM THEN
  598.         Macro
  599.         _SetDSequenceMatte
  600.             moveq               #17,d0
  601.             dc.w                $AAA3
  602.         EndM
  603.     ELSE
  604.         IMPORT_CFM_FUNCTION SetDSequenceMatte
  605.     ENDIF
  606.  
  607. ;
  608. ; pascal OSErr SetDSequenceMask(ImageSequence seqID, RgnHandle mask)
  609. ;
  610.     IF ¬ GENERATINGCFM THEN
  611.         Macro
  612.         _SetDSequenceMask
  613.             moveq               #18,d0
  614.             dc.w                $AAA3
  615.         EndM
  616.     ELSE
  617.         IMPORT_CFM_FUNCTION SetDSequenceMask
  618.     ENDIF
  619.  
  620. ;
  621. ; pascal OSErr SetDSequenceTransferMode(ImageSequence seqID, short mode, const RGBColor *opColor)
  622. ;
  623.     IF ¬ GENERATINGCFM THEN
  624.         Macro
  625.         _SetDSequenceTransferMode
  626.             moveq               #19,d0
  627.             dc.w                $AAA3
  628.         EndM
  629.     ELSE
  630.         IMPORT_CFM_FUNCTION SetDSequenceTransferMode
  631.     ENDIF
  632.  
  633. ;
  634. ; pascal OSErr SetDSequenceDataProc(ImageSequence seqID, ICMDataProcRecordPtr dataProc, long bufferSize)
  635. ;
  636.     IF ¬ GENERATINGCFM THEN
  637.         Macro
  638.         _SetDSequenceDataProc
  639.             moveq               #20,d0
  640.             dc.w                $AAA3
  641.         EndM
  642.     ELSE
  643.         IMPORT_CFM_FUNCTION SetDSequenceDataProc
  644.     ENDIF
  645.  
  646. ;
  647. ; pascal OSErr SetDSequenceAccuracy(ImageSequence seqID, CodecQ accuracy)
  648. ;
  649.     IF ¬ GENERATINGCFM THEN
  650.         Macro
  651.         _SetDSequenceAccuracy
  652.             moveq               #52,d0
  653.             dc.w                $AAA3
  654.         EndM
  655.     ELSE
  656.         IMPORT_CFM_FUNCTION SetDSequenceAccuracy
  657.     ENDIF
  658.  
  659. ;
  660. ; pascal OSErr SetDSequenceSrcRect(ImageSequence seqID, const Rect *srcRect)
  661. ;
  662.     IF ¬ GENERATINGCFM THEN
  663.         Macro
  664.         _SetDSequenceSrcRect
  665.             moveq               #53,d0
  666.             dc.w                $AAA3
  667.         EndM
  668.     ELSE
  669.         IMPORT_CFM_FUNCTION SetDSequenceSrcRect
  670.     ENDIF
  671.  
  672. ;
  673. ; pascal OSErr GetDSequenceImageBuffer(ImageSequence seqID, GWorldPtr *gworld)
  674. ;
  675.     IF ¬ GENERATINGCFM THEN
  676.         Macro
  677.         _GetDSequenceImageBuffer
  678.             moveq               #21,d0
  679.             dc.w                $AAA3
  680.         EndM
  681.     ELSE
  682.         IMPORT_CFM_FUNCTION GetDSequenceImageBuffer
  683.     ENDIF
  684.  
  685. ;
  686. ; pascal OSErr GetDSequenceScreenBuffer(ImageSequence seqID, GWorldPtr *gworld)
  687. ;
  688.     IF ¬ GENERATINGCFM THEN
  689.         Macro
  690.         _GetDSequenceScreenBuffer
  691.             moveq               #22,d0
  692.             dc.w                $AAA3
  693.         EndM
  694.     ELSE
  695.         IMPORT_CFM_FUNCTION GetDSequenceScreenBuffer
  696.     ENDIF
  697.  
  698. ;
  699. ; pascal OSErr SetCSequenceQuality(ImageSequence seqID, CodecQ spatialQuality, CodecQ temporalQuality)
  700. ;
  701.     IF ¬ GENERATINGCFM THEN
  702.         Macro
  703.         _SetCSequenceQuality
  704.             moveq               #23,d0
  705.             dc.w                $AAA3
  706.         EndM
  707.     ELSE
  708.         IMPORT_CFM_FUNCTION SetCSequenceQuality
  709.     ENDIF
  710.  
  711. ;
  712. ; pascal OSErr SetCSequencePrev(ImageSequence seqID, PixMapHandle prev, const Rect *prevRect)
  713. ;
  714.     IF ¬ GENERATINGCFM THEN
  715.         Macro
  716.         _SetCSequencePrev
  717.             moveq               #24,d0
  718.             dc.w                $AAA3
  719.         EndM
  720.     ELSE
  721.         IMPORT_CFM_FUNCTION SetCSequencePrev
  722.     ENDIF
  723.  
  724. ;
  725. ; pascal OSErr SetCSequenceFlushProc(ImageSequence seqID, ICMFlushProcRecordPtr flushProc, long bufferSize)
  726. ;
  727.     IF ¬ GENERATINGCFM THEN
  728.         Macro
  729.         _SetCSequenceFlushProc
  730.             moveq               #51,d0
  731.             dc.w                $AAA3
  732.         EndM
  733.     ELSE
  734.         IMPORT_CFM_FUNCTION SetCSequenceFlushProc
  735.     ENDIF
  736.  
  737. ;
  738. ; pascal OSErr SetCSequenceKeyFrameRate(ImageSequence seqID, long keyFrameRate)
  739. ;
  740.     IF ¬ GENERATINGCFM THEN
  741.         Macro
  742.         _SetCSequenceKeyFrameRate
  743.             moveq               #54,d0
  744.             dc.w                $AAA3
  745.         EndM
  746.     ELSE
  747.         IMPORT_CFM_FUNCTION SetCSequenceKeyFrameRate
  748.     ENDIF
  749.  
  750. ;
  751. ; pascal OSErr GetCSequenceKeyFrameRate(ImageSequence seqID, long *keyFrameRate)
  752. ;
  753.     IF ¬ GENERATINGCFM THEN
  754.         Macro
  755.         _GetCSequenceKeyFrameRate
  756.             dc.w                $203C
  757.             dc.w                $0008
  758.             dc.w                $004B
  759.             dc.w                $AAA3
  760.         EndM
  761.     ELSE
  762.         IMPORT_CFM_FUNCTION GetCSequenceKeyFrameRate
  763.     ENDIF
  764.  
  765. ;
  766. ; pascal OSErr GetCSequencePrevBuffer(ImageSequence seqID, GWorldPtr *gworld)
  767. ;
  768.     IF ¬ GENERATINGCFM THEN
  769.         Macro
  770.         _GetCSequencePrevBuffer
  771.             moveq               #25,d0
  772.             dc.w                $AAA3
  773.         EndM
  774.     ELSE
  775.         IMPORT_CFM_FUNCTION GetCSequencePrevBuffer
  776.     ENDIF
  777.  
  778. ;
  779. ; pascal OSErr CDSequenceBusy(ImageSequence seqID)
  780. ;
  781.     IF ¬ GENERATINGCFM THEN
  782.         Macro
  783.         _CDSequenceBusy
  784.             moveq               #26,d0
  785.             dc.w                $AAA3
  786.         EndM
  787.     ELSE
  788.         IMPORT_CFM_FUNCTION CDSequenceBusy
  789.     ENDIF
  790.  
  791. ;
  792. ; pascal OSErr CDSequenceEnd(ImageSequence seqID)
  793. ;
  794.     IF ¬ GENERATINGCFM THEN
  795.         Macro
  796.         _CDSequenceEnd
  797.             moveq               #27,d0
  798.             dc.w                $AAA3
  799.         EndM
  800.     ELSE
  801.         IMPORT_CFM_FUNCTION CDSequenceEnd
  802.     ENDIF
  803.  
  804. ;
  805. ; pascal OSErr CDSequenceEquivalentImageDescription(ImageSequence seqID, ImageDescriptionHandle newDesc, Boolean *equivalent)
  806. ;
  807.     IF ¬ GENERATINGCFM THEN
  808.         Macro
  809.         _CDSequenceEquivalentImageDescription
  810.             dc.w                $203C
  811.             dc.w                $000C
  812.             dc.w                $0065
  813.             dc.w                $AAA3
  814.         EndM
  815.     ELSE
  816.         IMPORT_CFM_FUNCTION CDSequenceEquivalentImageDescription
  817.     ENDIF
  818.  
  819. ;
  820. ; pascal OSErr GetCompressedImageSize(ImageDescriptionHandle desc, Ptr data, long bufferSize, ICMDataProcRecordPtr dataProc, long *dataSize)
  821. ;
  822.     IF ¬ GENERATINGCFM THEN
  823.         Macro
  824.         _GetCompressedImageSize
  825.             moveq               #28,d0
  826.             dc.w                $AAA3
  827.         EndM
  828.     ELSE
  829.         IMPORT_CFM_FUNCTION GetCompressedImageSize
  830.     ENDIF
  831.  
  832. ;
  833. ; pascal OSErr GetSimilarity(PixMapHandle src, const Rect *srcRect, ImageDescriptionHandle desc, Ptr data, Fixed *similarity)
  834. ;
  835.     IF ¬ GENERATINGCFM THEN
  836.         Macro
  837.         _GetSimilarity
  838.             moveq               #29,d0
  839.             dc.w                $AAA3
  840.         EndM
  841.     ELSE
  842.         IMPORT_CFM_FUNCTION GetSimilarity
  843.     ENDIF
  844.  
  845. ;
  846. ; pascal OSErr GetImageDescriptionCTable(ImageDescriptionHandle desc, CTabHandle *ctable)
  847. ;
  848.     IF ¬ GENERATINGCFM THEN
  849.         Macro
  850.         _GetImageDescriptionCTable
  851.             moveq               #30,d0
  852.             dc.w                $AAA3
  853.         EndM
  854.     ELSE
  855.         IMPORT_CFM_FUNCTION GetImageDescriptionCTable
  856.     ENDIF
  857.  
  858. ;
  859. ; pascal OSErr SetImageDescriptionCTable(ImageDescriptionHandle desc, CTabHandle ctable)
  860. ;
  861.     IF ¬ GENERATINGCFM THEN
  862.         Macro
  863.         _SetImageDescriptionCTable
  864.             moveq               #31,d0
  865.             dc.w                $AAA3
  866.         EndM
  867.     ELSE
  868.         IMPORT_CFM_FUNCTION SetImageDescriptionCTable
  869.     ENDIF
  870.  
  871. ;
  872. ; pascal OSErr GetImageDescriptionExtension(ImageDescriptionHandle desc, Handle *extension, long idType, long index)
  873. ;
  874.     IF ¬ GENERATINGCFM THEN
  875.         Macro
  876.         _GetImageDescriptionExtension
  877.             moveq               #32,d0
  878.             dc.w                $AAA3
  879.         EndM
  880.     ELSE
  881.         IMPORT_CFM_FUNCTION GetImageDescriptionExtension
  882.     ENDIF
  883.  
  884. ;
  885. ; pascal OSErr AddImageDescriptionExtension(ImageDescriptionHandle desc, Handle extension, long idType)
  886. ;
  887.     IF ¬ GENERATINGCFM THEN
  888.         Macro
  889.         _AddImageDescriptionExtension
  890.             moveq               #33,d0
  891.             dc.w                $AAA3
  892.         EndM
  893.     ELSE
  894.         IMPORT_CFM_FUNCTION AddImageDescriptionExtension
  895.     ENDIF
  896.  
  897. ;
  898. ; pascal OSErr RemoveImageDescriptionExtension(ImageDescriptionHandle desc, long idType, long index)
  899. ;
  900.     IF ¬ GENERATINGCFM THEN
  901.         Macro
  902.         _RemoveImageDescriptionExtension
  903.             dc.w                $203C
  904.             dc.w                $000C
  905.             dc.w                $003A
  906.             dc.w                $AAA3
  907.         EndM
  908.     ELSE
  909.         IMPORT_CFM_FUNCTION RemoveImageDescriptionExtension
  910.     ENDIF
  911.  
  912. ;
  913. ; pascal OSErr CountImageDescriptionExtensionType(ImageDescriptionHandle desc, long idType, long *count)
  914. ;
  915.     IF ¬ GENERATINGCFM THEN
  916.         Macro
  917.         _CountImageDescriptionExtensionType
  918.             dc.w                $203C
  919.             dc.w                $000C
  920.             dc.w                $003B
  921.             dc.w                $AAA3
  922.         EndM
  923.     ELSE
  924.         IMPORT_CFM_FUNCTION CountImageDescriptionExtensionType
  925.     ENDIF
  926.  
  927. ;
  928. ; pascal OSErr GetNextImageDescriptionExtensionType(ImageDescriptionHandle desc, long *idType)
  929. ;
  930.     IF ¬ GENERATINGCFM THEN
  931.         Macro
  932.         _GetNextImageDescriptionExtensionType
  933.             dc.w                $203C
  934.             dc.w                $0008
  935.             dc.w                $003C
  936.             dc.w                $AAA3
  937.         EndM
  938.     ELSE
  939.         IMPORT_CFM_FUNCTION GetNextImageDescriptionExtensionType
  940.     ENDIF
  941.  
  942. ;
  943. ; pascal OSErr FindCodec(CodecType cType, CodecComponent specCodec, CompressorComponent *compressor, DecompressorComponent *decompressor)
  944. ;
  945.     IF ¬ GENERATINGCFM THEN
  946.         Macro
  947.         _FindCodec
  948.             moveq               #35,d0
  949.             dc.w                $AAA3
  950.         EndM
  951.     ELSE
  952.         IMPORT_CFM_FUNCTION FindCodec
  953.     ENDIF
  954.  
  955. ;
  956. ; pascal OSErr CompressPicture(PicHandle srcPicture, PicHandle dstPicture, CodecQ quality, CodecType cType)
  957. ;
  958.     IF ¬ GENERATINGCFM THEN
  959.         Macro
  960.         _CompressPicture
  961.             moveq               #36,d0
  962.             dc.w                $AAA3
  963.         EndM
  964.     ELSE
  965.         IMPORT_CFM_FUNCTION CompressPicture
  966.     ENDIF
  967.  
  968. ;
  969. ; pascal OSErr FCompressPicture(PicHandle srcPicture, PicHandle dstPicture, short colorDepth, CTabHandle ctable, CodecQ quality, short doDither, short compressAgain, ICMProgressProcRecordPtr progressProc, CodecType cType, CompressorComponent codec)
  970. ;
  971.     IF ¬ GENERATINGCFM THEN
  972.         Macro
  973.         _FCompressPicture
  974.             moveq               #37,d0
  975.             dc.w                $AAA3
  976.         EndM
  977.     ELSE
  978.         IMPORT_CFM_FUNCTION FCompressPicture
  979.     ENDIF
  980.  
  981. ;
  982. ; pascal OSErr CompressPictureFile(short srcRefNum, short dstRefNum, CodecQ quality, CodecType cType)
  983. ;
  984.     IF ¬ GENERATINGCFM THEN
  985.         Macro
  986.         _CompressPictureFile
  987.             moveq               #38,d0
  988.             dc.w                $AAA3
  989.         EndM
  990.     ELSE
  991.         IMPORT_CFM_FUNCTION CompressPictureFile
  992.     ENDIF
  993.  
  994. ;
  995. ; pascal OSErr FCompressPictureFile(short srcRefNum, short dstRefNum, short colorDepth, CTabHandle ctable, CodecQ quality, short doDither, short compressAgain, ICMProgressProcRecordPtr progressProc, CodecType cType, CompressorComponent codec)
  996. ;
  997.     IF ¬ GENERATINGCFM THEN
  998.         Macro
  999.         _FCompressPictureFile
  1000.             moveq               #39,d0
  1001.             dc.w                $AAA3
  1002.         EndM
  1003.     ELSE
  1004.         IMPORT_CFM_FUNCTION FCompressPictureFile
  1005.     ENDIF
  1006.  
  1007. ;
  1008. ; pascal OSErr GetPictureFileHeader(short refNum, Rect *frame, OpenCPicParams *header)
  1009. ;
  1010.     IF ¬ GENERATINGCFM THEN
  1011.         Macro
  1012.         _GetPictureFileHeader
  1013.             moveq               #40,d0
  1014.             dc.w                $AAA3
  1015.         EndM
  1016.     ELSE
  1017.         IMPORT_CFM_FUNCTION GetPictureFileHeader
  1018.     ENDIF
  1019.  
  1020. ;
  1021. ; pascal OSErr DrawPictureFile(short refNum, const Rect *frame, ICMProgressProcRecordPtr progressProc)
  1022. ;
  1023.     IF ¬ GENERATINGCFM THEN
  1024.         Macro
  1025.         _DrawPictureFile
  1026.             moveq               #41,d0
  1027.             dc.w                $AAA3
  1028.         EndM
  1029.     ELSE
  1030.         IMPORT_CFM_FUNCTION DrawPictureFile
  1031.     ENDIF
  1032.  
  1033. ;
  1034. ; pascal OSErr DrawTrimmedPicture(PicHandle srcPicture, const Rect *frame, RgnHandle trimMask, short doDither, ICMProgressProcRecordPtr progressProc)
  1035. ;
  1036.     IF ¬ GENERATINGCFM THEN
  1037.         Macro
  1038.         _DrawTrimmedPicture
  1039.             moveq               #46,d0
  1040.             dc.w                $AAA3
  1041.         EndM
  1042.     ELSE
  1043.         IMPORT_CFM_FUNCTION DrawTrimmedPicture
  1044.     ENDIF
  1045.  
  1046. ;
  1047. ; pascal OSErr DrawTrimmedPictureFile(short srcRefnum, const Rect *frame, RgnHandle trimMask, short doDither, ICMProgressProcRecordPtr progressProc)
  1048. ;
  1049.     IF ¬ GENERATINGCFM THEN
  1050.         Macro
  1051.         _DrawTrimmedPictureFile
  1052.             moveq               #47,d0
  1053.             dc.w                $AAA3
  1054.         EndM
  1055.     ELSE
  1056.         IMPORT_CFM_FUNCTION DrawTrimmedPictureFile
  1057.     ENDIF
  1058.  
  1059. ;
  1060. ; pascal OSErr MakeThumbnailFromPicture(PicHandle picture, short colorDepth, PicHandle thumbnail, ICMProgressProcRecordPtr progressProc)
  1061. ;
  1062.     IF ¬ GENERATINGCFM THEN
  1063.         Macro
  1064.         _MakeThumbnailFromPicture
  1065.             moveq               #42,d0
  1066.             dc.w                $AAA3
  1067.         EndM
  1068.     ELSE
  1069.         IMPORT_CFM_FUNCTION MakeThumbnailFromPicture
  1070.     ENDIF
  1071.  
  1072. ;
  1073. ; pascal OSErr MakeThumbnailFromPictureFile(short refNum, short colorDepth, PicHandle thumbnail, ICMProgressProcRecordPtr progressProc)
  1074. ;
  1075.     IF ¬ GENERATINGCFM THEN
  1076.         Macro
  1077.         _MakeThumbnailFromPictureFile
  1078.             moveq               #43,d0
  1079.             dc.w                $AAA3
  1080.         EndM
  1081.     ELSE
  1082.         IMPORT_CFM_FUNCTION MakeThumbnailFromPictureFile
  1083.     ENDIF
  1084.  
  1085. ;
  1086. ; pascal OSErr MakeThumbnailFromPixMap(PixMapHandle src, const Rect *srcRect, short colorDepth, PicHandle thumbnail, ICMProgressProcRecordPtr progressProc)
  1087. ;
  1088.     IF ¬ GENERATINGCFM THEN
  1089.         Macro
  1090.         _MakeThumbnailFromPixMap
  1091.             moveq               #44,d0
  1092.             dc.w                $AAA3
  1093.         EndM
  1094.     ELSE
  1095.         IMPORT_CFM_FUNCTION MakeThumbnailFromPixMap
  1096.     ENDIF
  1097.  
  1098. ;
  1099. ; pascal OSErr TrimImage(ImageDescriptionHandle desc, Ptr inData, long inBufferSize, ICMDataProcRecordPtr dataProc, Ptr outData, long outBufferSize, ICMFlushProcRecordPtr flushProc, Rect *trimRect, ICMProgressProcRecordPtr progressProc)
  1100. ;
  1101.     IF ¬ GENERATINGCFM THEN
  1102.         Macro
  1103.         _TrimImage
  1104.             moveq               #45,d0
  1105.             dc.w                $AAA3
  1106.         EndM
  1107.     ELSE
  1108.         IMPORT_CFM_FUNCTION TrimImage
  1109.     ENDIF
  1110.  
  1111. ;
  1112. ; pascal OSErr ConvertImage(ImageDescriptionHandle srcDD, Ptr srcData, short colorDepth, CTabHandle ctable, CodecQ accuracy, CodecQ quality, CodecType cType, CodecComponent codec, ImageDescriptionHandle dstDD, Ptr dstData)
  1113. ;
  1114.     IF ¬ GENERATINGCFM THEN
  1115.         Macro
  1116.         _ConvertImage
  1117.             moveq               #48,d0
  1118.             dc.w                $AAA3
  1119.         EndM
  1120.     ELSE
  1121.         IMPORT_CFM_FUNCTION ConvertImage
  1122.     ENDIF
  1123.  
  1124. ;
  1125. ; pascal OSErr GetCompressedPixMapInfo(PixMapPtr pix, ImageDescriptionHandle *desc, Ptr *data, long *bufferSize, ICMDataProcRecord *dataProc, ICMProgressProcRecord *progressProc)
  1126. ;
  1127.     IF ¬ GENERATINGCFM THEN
  1128.         Macro
  1129.         _GetCompressedPixMapInfo
  1130.             moveq               #55,d0
  1131.             dc.w                $AAA3
  1132.         EndM
  1133.     ELSE
  1134.         IMPORT_CFM_FUNCTION GetCompressedPixMapInfo
  1135.     ENDIF
  1136.  
  1137. ;
  1138. ; pascal OSErr SetCompressedPixMapInfo(PixMapPtr pix, ImageDescriptionHandle desc, Ptr data, long bufferSize, ICMDataProcRecordPtr dataProc, ICMProgressProcRecordPtr progressProc)
  1139. ;
  1140.     IF ¬ GENERATINGCFM THEN
  1141.         Macro
  1142.         _SetCompressedPixMapInfo
  1143.             moveq               #56,d0
  1144.             dc.w                $AAA3
  1145.         EndM
  1146.     ELSE
  1147.         IMPORT_CFM_FUNCTION SetCompressedPixMapInfo
  1148.     ENDIF
  1149.  
  1150. ;
  1151. ; pascal void StdPix(PixMapPtr src, const Rect *srcRect, MatrixRecordPtr matrix, short mode, RgnHandle mask, PixMapPtr matte, const Rect *matteRect, short flags)
  1152. ;
  1153.     IF ¬ GENERATINGCFM THEN
  1154.         Macro
  1155.         _StdPix
  1156.             moveq               #12,d0
  1157.             dc.w                $AAA3
  1158.         EndM
  1159.     ELSE
  1160.         IMPORT_CFM_FUNCTION StdPix
  1161.     ENDIF
  1162.  
  1163. ;
  1164. ; pascal OSErr TransformRgn(MatrixRecordPtr matrix, RgnHandle rgn)
  1165. ;
  1166.     IF ¬ GENERATINGCFM THEN
  1167.         Macro
  1168.         _TransformRgn
  1169.             moveq               #57,d0
  1170.             dc.w                $AAA3
  1171.         EndM
  1172.     ELSE
  1173.         IMPORT_CFM_FUNCTION TransformRgn
  1174.     ENDIF
  1175.  
  1176. ;
  1177. ;**********
  1178. ;    preview stuff
  1179. ;**********
  1180. ;
  1181. ;
  1182. ; pascal void SFGetFilePreview(Point where, ConstStr255Param prompt, FileFilterUPP fileFilter, short numTypes, ConstSFTypeListPtr typeList, DlgHookUPP dlgHook, SFReply *reply)
  1183. ;
  1184.     IF ¬ GENERATINGCFM THEN
  1185.         Macro
  1186.         _SFGetFilePreview
  1187.             moveq               #65,d0
  1188.             dc.w                $AAA3
  1189.         EndM
  1190.     ELSE
  1191.         IMPORT_CFM_FUNCTION SFGetFilePreview
  1192.     ENDIF
  1193.  
  1194. ;
  1195. ; pascal void SFPGetFilePreview(Point where, ConstStr255Param prompt, FileFilterUPP fileFilter, short numTypes, ConstSFTypeListPtr typeList, DlgHookUPP dlgHook, SFReply *reply, short dlgID, ModalFilterUPP filterProc)
  1196. ;
  1197.     IF ¬ GENERATINGCFM THEN
  1198.         Macro
  1199.         _SFPGetFilePreview
  1200.             moveq               #66,d0
  1201.             dc.w                $AAA3
  1202.         EndM
  1203.     ELSE
  1204.         IMPORT_CFM_FUNCTION SFPGetFilePreview
  1205.     ENDIF
  1206.  
  1207. ;
  1208. ; pascal void StandardGetFilePreview(FileFilterUPP fileFilter, short numTypes, ConstSFTypeListPtr typeList, StandardFileReply *reply)
  1209. ;
  1210.     IF ¬ GENERATINGCFM THEN
  1211.         Macro
  1212.         _StandardGetFilePreview
  1213.             moveq               #67,d0
  1214.             dc.w                $AAA3
  1215.         EndM
  1216.     ELSE
  1217.         IMPORT_CFM_FUNCTION StandardGetFilePreview
  1218.     ENDIF
  1219.  
  1220. ;
  1221. ; pascal void CustomGetFilePreview(FileFilterYDUPP fileFilter, short numTypes, ConstSFTypeListPtr typeList, StandardFileReply *reply, short dlgID, Point where, DlgHookYDUPP dlgHook, ModalFilterYDUPP filterProc, ActivationOrderListPtr activeList, ActivateYDUPP activateProc, void *yourDataPtr)
  1222. ;
  1223.     IF ¬ GENERATINGCFM THEN
  1224.         Macro
  1225.         _CustomGetFilePreview
  1226.             moveq               #68,d0
  1227.             dc.w                $AAA3
  1228.         EndM
  1229.     ELSE
  1230.         IMPORT_CFM_FUNCTION CustomGetFilePreview
  1231.     ENDIF
  1232.  
  1233. ;
  1234. ; pascal OSErr MakeFilePreview(short resRefNum, ICMProgressProcRecordPtr progress)
  1235. ;
  1236.     IF ¬ GENERATINGCFM THEN
  1237.         Macro
  1238.         _MakeFilePreview
  1239.             moveq               #69,d0
  1240.             dc.w                $AAA3
  1241.         EndM
  1242.     ELSE
  1243.         IMPORT_CFM_FUNCTION MakeFilePreview
  1244.     ENDIF
  1245.  
  1246. ;
  1247. ; pascal OSErr AddFilePreview(short resRefNum, OSType previewType, Handle previewData)
  1248. ;
  1249.     IF ¬ GENERATINGCFM THEN
  1250.         Macro
  1251.         _AddFilePreview
  1252.             moveq               #70,d0
  1253.             dc.w                $AAA3
  1254.         EndM
  1255.     ELSE
  1256.         IMPORT_CFM_FUNCTION AddFilePreview
  1257.     ENDIF
  1258.  
  1259.  
  1260. sfpItemPreviewAreaUser            EQU        11
  1261. sfpItemPreviewStaticText        EQU        12
  1262. sfpItemPreviewDividerUser        EQU        13
  1263. sfpItemCreatePreviewButton        EQU        14
  1264. sfpItemShowPreviewButton        EQU        15
  1265. PreviewResourceRecord    RECORD 0
  1266. modDate                     ds.l    1                ; offset: $0 (0)
  1267. version                     ds.w    1                ; offset: $4 (4)
  1268. resType                     ds.l    1                ; offset: $6 (6)
  1269. resID                     ds.w    1                ; offset: $A (10)
  1270. sizeof                     EQU *                    ; size:   $C (12)
  1271.                         ENDR
  1272. ; typedef struct PreviewResourceRecord * PreviewResourcePtr
  1273.  
  1274. ; typedef PreviewResourcePtr *            PreviewResource
  1275.  
  1276. ;
  1277. ; pascal void AlignScreenRect(Rect *rp, ICMAlignmentProcRecordPtr alignmentProc)
  1278. ;
  1279.     IF ¬ GENERATINGCFM THEN
  1280.         Macro
  1281.         _AlignScreenRect
  1282.             dc.w                $203C
  1283.             dc.w                $0008
  1284.             dc.w                $004C
  1285.             dc.w                $AAA3
  1286.         EndM
  1287.     ELSE
  1288.         IMPORT_CFM_FUNCTION AlignScreenRect
  1289.     ENDIF
  1290.  
  1291. ;
  1292. ; pascal void AlignWindow(WindowPtr wp, Boolean front, const Rect *alignmentRect, ICMAlignmentProcRecordPtr alignmentProc)
  1293. ;
  1294.     IF ¬ GENERATINGCFM THEN
  1295.         Macro
  1296.         _AlignWindow
  1297.             dc.w                $203C
  1298.             dc.w                $000E
  1299.             dc.w                $004D
  1300.             dc.w                $AAA3
  1301.         EndM
  1302.     ELSE
  1303.         IMPORT_CFM_FUNCTION AlignWindow
  1304.     ENDIF
  1305.  
  1306. ;
  1307. ; pascal void DragAlignedWindow(WindowPtr wp, Point startPt, Rect *boundsRect, Rect *alignmentRect, ICMAlignmentProcRecordPtr alignmentProc)
  1308. ;
  1309.     IF ¬ GENERATINGCFM THEN
  1310.         Macro
  1311.         _DragAlignedWindow
  1312.             dc.w                $203C
  1313.             dc.w                $0014
  1314.             dc.w                $004E
  1315.             dc.w                $AAA3
  1316.         EndM
  1317.     ELSE
  1318.         IMPORT_CFM_FUNCTION DragAlignedWindow
  1319.     ENDIF
  1320.  
  1321. ;
  1322. ; pascal long DragAlignedGrayRgn(RgnHandle theRgn, Point startPt, Rect *boundsRect, Rect *slopRect, short axis, UniversalProcPtr actionProc, Rect *alignmentRect, ICMAlignmentProcRecordPtr alignmentProc)
  1323. ;
  1324.     IF ¬ GENERATINGCFM THEN
  1325.         Macro
  1326.         _DragAlignedGrayRgn
  1327.             dc.w                $203C
  1328.             dc.w                $001E
  1329.             dc.w                $004F
  1330.             dc.w                $AAA3
  1331.         EndM
  1332.     ELSE
  1333.         IMPORT_CFM_FUNCTION DragAlignedGrayRgn
  1334.     ENDIF
  1335.  
  1336. ;
  1337. ; pascal OSErr SetCSequenceDataRateParams(ImageSequence seqID, DataRateParamsPtr params)
  1338. ;
  1339.     IF ¬ GENERATINGCFM THEN
  1340.         Macro
  1341.         _SetCSequenceDataRateParams
  1342.             dc.w                $203C
  1343.             dc.w                $0008
  1344.             dc.w                $0050
  1345.             dc.w                $AAA3
  1346.         EndM
  1347.     ELSE
  1348.         IMPORT_CFM_FUNCTION SetCSequenceDataRateParams
  1349.     ENDIF
  1350.  
  1351. ;
  1352. ; pascal OSErr SetCSequenceFrameNumber(ImageSequence seqID, long frameNumber)
  1353. ;
  1354.     IF ¬ GENERATINGCFM THEN
  1355.         Macro
  1356.         _SetCSequenceFrameNumber
  1357.             dc.w                $203C
  1358.             dc.w                $0008
  1359.             dc.w                $0051
  1360.             dc.w                $AAA3
  1361.         EndM
  1362.     ELSE
  1363.         IMPORT_CFM_FUNCTION SetCSequenceFrameNumber
  1364.     ENDIF
  1365.  
  1366. ;
  1367. ; pascal OSErr SetCSequencePreferredPacketSize(ImageSequence seqID, long preferredPacketSizeInBytes)
  1368. ;
  1369.     IF ¬ GENERATINGCFM THEN
  1370.         Macro
  1371.         _SetCSequencePreferredPacketSize
  1372.             dc.w                $203C
  1373.             dc.w                $0008
  1374.             dc.w                $0078
  1375.             dc.w                $AAA3
  1376.         EndM
  1377.     ELSE
  1378.         IMPORT_CFM_FUNCTION SetCSequencePreferredPacketSize
  1379.     ENDIF
  1380.  
  1381. ;
  1382. ; pascal OSErr NewImageGWorld(GWorldPtr *gworld, ImageDescriptionHandle idh, GWorldFlags flags)
  1383. ;
  1384.     IF ¬ GENERATINGCFM THEN
  1385.         Macro
  1386.         _NewImageGWorld
  1387.             dc.w                $203C
  1388.             dc.w                $000C
  1389.             dc.w                $0052
  1390.             dc.w                $AAA3
  1391.         EndM
  1392.     ELSE
  1393.         IMPORT_CFM_FUNCTION NewImageGWorld
  1394.     ENDIF
  1395.  
  1396. ;
  1397. ; pascal OSErr GetCSequenceDataRateParams(ImageSequence seqID, DataRateParamsPtr params)
  1398. ;
  1399.     IF ¬ GENERATINGCFM THEN
  1400.         Macro
  1401.         _GetCSequenceDataRateParams
  1402.             dc.w                $203C
  1403.             dc.w                $0008
  1404.             dc.w                $0053
  1405.             dc.w                $AAA3
  1406.         EndM
  1407.     ELSE
  1408.         IMPORT_CFM_FUNCTION GetCSequenceDataRateParams
  1409.     ENDIF
  1410.  
  1411. ;
  1412. ; pascal OSErr GetCSequenceFrameNumber(ImageSequence seqID, long *frameNumber)
  1413. ;
  1414.     IF ¬ GENERATINGCFM THEN
  1415.         Macro
  1416.         _GetCSequenceFrameNumber
  1417.             dc.w                $203C
  1418.             dc.w                $0008
  1419.             dc.w                $0054
  1420.             dc.w                $AAA3
  1421.         EndM
  1422.     ELSE
  1423.         IMPORT_CFM_FUNCTION GetCSequenceFrameNumber
  1424.     ENDIF
  1425.  
  1426. ;
  1427. ; pascal OSErr GetBestDeviceRect(GDHandle *gdh, Rect *rp)
  1428. ;
  1429.     IF ¬ GENERATINGCFM THEN
  1430.         Macro
  1431.         _GetBestDeviceRect
  1432.             dc.w                $203C
  1433.             dc.w                $0008
  1434.             dc.w                $0055
  1435.             dc.w                $AAA3
  1436.         EndM
  1437.     ELSE
  1438.         IMPORT_CFM_FUNCTION GetBestDeviceRect
  1439.     ENDIF
  1440.  
  1441. ;
  1442. ; pascal OSErr SetSequenceProgressProc(ImageSequence seqID, ICMProgressProcRecord *progressProc)
  1443. ;
  1444.     IF ¬ GENERATINGCFM THEN
  1445.         Macro
  1446.         _SetSequenceProgressProc
  1447.             dc.w                $203C
  1448.             dc.w                $0008
  1449.             dc.w                $0056
  1450.             dc.w                $AAA3
  1451.         EndM
  1452.     ELSE
  1453.         IMPORT_CFM_FUNCTION SetSequenceProgressProc
  1454.     ENDIF
  1455.  
  1456. ;
  1457. ; pascal OSErr GDHasScale(GDHandle gdh, short depth, Fixed *scale)
  1458. ;
  1459.     IF ¬ GENERATINGCFM THEN
  1460.         Macro
  1461.         _GDHasScale
  1462.             dc.w                $203C
  1463.             dc.w                $000A
  1464.             dc.w                $005A
  1465.             dc.w                $AAA3
  1466.         EndM
  1467.     ELSE
  1468.         IMPORT_CFM_FUNCTION GDHasScale
  1469.     ENDIF
  1470.  
  1471. ;
  1472. ; pascal OSErr GDGetScale(GDHandle gdh, Fixed *scale, short *flags)
  1473. ;
  1474.     IF ¬ GENERATINGCFM THEN
  1475.         Macro
  1476.         _GDGetScale
  1477.             dc.w                $203C
  1478.             dc.w                $000C
  1479.             dc.w                $005B
  1480.             dc.w                $AAA3
  1481.         EndM
  1482.     ELSE
  1483.         IMPORT_CFM_FUNCTION GDGetScale
  1484.     ENDIF
  1485.  
  1486. ;
  1487. ; pascal OSErr GDSetScale(GDHandle gdh, Fixed scale, short flags)
  1488. ;
  1489.     IF ¬ GENERATINGCFM THEN
  1490.         Macro
  1491.         _GDSetScale
  1492.             dc.w                $203C
  1493.             dc.w                $000A
  1494.             dc.w                $005C
  1495.             dc.w                $AAA3
  1496.         EndM
  1497.     ELSE
  1498.         IMPORT_CFM_FUNCTION GDSetScale
  1499.     ENDIF
  1500.  
  1501. ;
  1502. ; pascal OSErr ICMShieldSequenceCursor(ImageSequence seqID)
  1503. ;
  1504.     IF ¬ GENERATINGCFM THEN
  1505.         Macro
  1506.         _ICMShieldSequenceCursor
  1507.             dc.w                $203C
  1508.             dc.w                $0004
  1509.             dc.w                $0062
  1510.             dc.w                $AAA3
  1511.         EndM
  1512.     ELSE
  1513.         IMPORT_CFM_FUNCTION ICMShieldSequenceCursor
  1514.     ENDIF
  1515.  
  1516. ;
  1517. ; pascal void ICMDecompressComplete(ImageSequence seqID, OSErr err, short flag, ICMCompletionProcRecordPtr completionRtn)
  1518. ;
  1519.     IF ¬ GENERATINGCFM THEN
  1520.         Macro
  1521.         _ICMDecompressComplete
  1522.             dc.w                $203C
  1523.             dc.w                $000C
  1524.             dc.w                $0063
  1525.             dc.w                $AAA3
  1526.         EndM
  1527.     ELSE
  1528.         IMPORT_CFM_FUNCTION ICMDecompressComplete
  1529.     ENDIF
  1530.  
  1531. ;
  1532. ; pascal OSErr SetDSequenceTimeCode(ImageSequence seqID, void *timeCodeFormat, void *timeCodeTime)
  1533. ;
  1534.     IF ¬ GENERATINGCFM THEN
  1535.         Macro
  1536.         _SetDSequenceTimeCode
  1537.             dc.w                $203C
  1538.             dc.w                $000C
  1539.             dc.w                $0064
  1540.             dc.w                $AAA3
  1541.         EndM
  1542.     ELSE
  1543.         IMPORT_CFM_FUNCTION SetDSequenceTimeCode
  1544.     ENDIF
  1545.  
  1546. ;
  1547. ; pascal OSErr CDSequenceNewMemory(ImageSequence seqID, Ptr *data, Size dataSize, long dataUse, ICMMemoryDisposedUPP memoryGoneProc, void *refCon)
  1548. ;
  1549.     IF ¬ GENERATINGCFM THEN
  1550.         Macro
  1551.         _CDSequenceNewMemory
  1552.             dc.w                $203C
  1553.             dc.w                $0018
  1554.             dc.w                $0066
  1555.             dc.w                $AAA3
  1556.         EndM
  1557.     ELSE
  1558.         IMPORT_CFM_FUNCTION CDSequenceNewMemory
  1559.     ENDIF
  1560.  
  1561. ;
  1562. ; pascal OSErr CDSequenceDisposeMemory(ImageSequence seqID, Ptr data)
  1563. ;
  1564.     IF ¬ GENERATINGCFM THEN
  1565.         Macro
  1566.         _CDSequenceDisposeMemory
  1567.             dc.w                $203C
  1568.             dc.w                $0008
  1569.             dc.w                $0067
  1570.             dc.w                $AAA3
  1571.         EndM
  1572.     ELSE
  1573.         IMPORT_CFM_FUNCTION CDSequenceDisposeMemory
  1574.     ENDIF
  1575.  
  1576. ;
  1577. ; pascal OSErr CDSequenceNewDataSource(ImageSequence seqID, ImageSequenceDataSource *sourceID, OSType sourceType, long sourceInputNumber, Handle dataDescription, void *transferProc, void *refCon)
  1578. ;
  1579.     IF ¬ GENERATINGCFM THEN
  1580.         Macro
  1581.         _CDSequenceNewDataSource
  1582.             dc.w                $203C
  1583.             dc.w                $001C
  1584.             dc.w                $0068
  1585.             dc.w                $AAA3
  1586.         EndM
  1587.     ELSE
  1588.         IMPORT_CFM_FUNCTION CDSequenceNewDataSource
  1589.     ENDIF
  1590.  
  1591. ;
  1592. ; pascal OSErr CDSequenceDisposeDataSource(ImageSequenceDataSource sourceID)
  1593. ;
  1594.     IF ¬ GENERATINGCFM THEN
  1595.         Macro
  1596.         _CDSequenceDisposeDataSource
  1597.             dc.w                $203C
  1598.             dc.w                $0004
  1599.             dc.w                $0069
  1600.             dc.w                $AAA3
  1601.         EndM
  1602.     ELSE
  1603.         IMPORT_CFM_FUNCTION CDSequenceDisposeDataSource
  1604.     ENDIF
  1605.  
  1606. ;
  1607. ; pascal OSErr CDSequenceSetSourceData(ImageSequenceDataSource sourceID, void *data, long dataSize)
  1608. ;
  1609.     IF ¬ GENERATINGCFM THEN
  1610.         Macro
  1611.         _CDSequenceSetSourceData
  1612.             dc.w                $203C
  1613.             dc.w                $000C
  1614.             dc.w                $006A
  1615.             dc.w                $AAA3
  1616.         EndM
  1617.     ELSE
  1618.         IMPORT_CFM_FUNCTION CDSequenceSetSourceData
  1619.     ENDIF
  1620.  
  1621. ;
  1622. ; pascal OSErr CDSequenceChangedSourceData(ImageSequenceDataSource sourceID)
  1623. ;
  1624.     IF ¬ GENERATINGCFM THEN
  1625.         Macro
  1626.         _CDSequenceChangedSourceData
  1627.             dc.w                $203C
  1628.             dc.w                $0004
  1629.             dc.w                $006B
  1630.             dc.w                $AAA3
  1631.         EndM
  1632.     ELSE
  1633.         IMPORT_CFM_FUNCTION CDSequenceChangedSourceData
  1634.     ENDIF
  1635.  
  1636. ;
  1637. ; pascal OSErr PtInDSequenceData(ImageSequence seqID, void *data, Size dataSize, Point where, Boolean *hit)
  1638. ;
  1639.     IF ¬ GENERATINGCFM THEN
  1640.         Macro
  1641.         _PtInDSequenceData
  1642.             dc.w                $203C
  1643.             dc.w                $0014
  1644.             dc.w                $006C
  1645.             dc.w                $AAA3
  1646.         EndM
  1647.     ELSE
  1648.         IMPORT_CFM_FUNCTION PtInDSequenceData
  1649.     ENDIF
  1650.  
  1651. ;
  1652. ; pascal OSErr GetGraphicsImporterForFile(const FSSpec *theFile, ComponentInstance *gi)
  1653. ;
  1654.     IF ¬ GENERATINGCFM THEN
  1655.         Macro
  1656.         _GetGraphicsImporterForFile
  1657.             dc.w                $203C
  1658.             dc.w                $0008
  1659.             dc.w                $006E
  1660.             dc.w                $AAA3
  1661.         EndM
  1662.     ELSE
  1663.         IMPORT_CFM_FUNCTION GetGraphicsImporterForFile
  1664.     ENDIF
  1665.  
  1666. ;
  1667. ; pascal OSErr GetGraphicsImporterForDataRef(Handle dataRef, OSType dataRefType, ComponentInstance *gi)
  1668. ;
  1669.     IF ¬ GENERATINGCFM THEN
  1670.         Macro
  1671.         _GetGraphicsImporterForDataRef
  1672.             dc.w                $203C
  1673.             dc.w                $000C
  1674.             dc.w                $0077
  1675.             dc.w                $AAA3
  1676.         EndM
  1677.     ELSE
  1678.         IMPORT_CFM_FUNCTION GetGraphicsImporterForDataRef
  1679.     ENDIF
  1680.  
  1681. ;
  1682. ; pascal OSErr ImageTranscodeSequenceBegin(ImageTranscodeSequence *its, ImageDescriptionHandle srcDesc, OSType destType, ImageDescriptionHandle *dstDesc, void *data, long dataSize)
  1683. ;
  1684.     IF ¬ GENERATINGCFM THEN
  1685.         Macro
  1686.         _ImageTranscodeSequenceBegin
  1687.             dc.w                $203C
  1688.             dc.w                $0018
  1689.             dc.w                $006F
  1690.             dc.w                $AAA3
  1691.         EndM
  1692.     ELSE
  1693.         IMPORT_CFM_FUNCTION ImageTranscodeSequenceBegin
  1694.     ENDIF
  1695.  
  1696. ;
  1697. ; pascal OSErr ImageTranscodeSequenceEnd(ImageTranscodeSequence its)
  1698. ;
  1699.     IF ¬ GENERATINGCFM THEN
  1700.         Macro
  1701.         _ImageTranscodeSequenceEnd
  1702.             dc.w                $203C
  1703.             dc.w                $0004
  1704.             dc.w                $0070
  1705.             dc.w                $AAA3
  1706.         EndM
  1707.     ELSE
  1708.         IMPORT_CFM_FUNCTION ImageTranscodeSequenceEnd
  1709.     ENDIF
  1710.  
  1711. ;
  1712. ; pascal OSErr ImageTranscodeFrame(ImageTranscodeSequence its, void *srcData, long srcDataSize, void **dstData, long *dstDataSize)
  1713. ;
  1714.     IF ¬ GENERATINGCFM THEN
  1715.         Macro
  1716.         _ImageTranscodeFrame
  1717.             dc.w                $203C
  1718.             dc.w                $0014
  1719.             dc.w                $0071
  1720.             dc.w                $AAA3
  1721.         EndM
  1722.     ELSE
  1723.         IMPORT_CFM_FUNCTION ImageTranscodeFrame
  1724.     ENDIF
  1725.  
  1726. ;
  1727. ; pascal OSErr ImageTranscodeDisposeFrameData(ImageTranscodeSequence its, void *dstData)
  1728. ;
  1729.     IF ¬ GENERATINGCFM THEN
  1730.         Macro
  1731.         _ImageTranscodeDisposeFrameData
  1732.             dc.w                $203C
  1733.             dc.w                $0008
  1734.             dc.w                $0072
  1735.             dc.w                $AAA3
  1736.         EndM
  1737.     ELSE
  1738.         IMPORT_CFM_FUNCTION ImageTranscodeDisposeFrameData
  1739.     ENDIF
  1740.  
  1741. ;
  1742. ; pascal OSErr CDSequenceInvalidate(ImageSequence seqID, RgnHandle invalRgn)
  1743. ;
  1744.     IF ¬ GENERATINGCFM THEN
  1745.         Macro
  1746.         _CDSequenceInvalidate
  1747.             dc.w                $203C
  1748.             dc.w                $0008
  1749.             dc.w                $0073
  1750.             dc.w                $AAA3
  1751.         EndM
  1752.     ELSE
  1753.         IMPORT_CFM_FUNCTION CDSequenceInvalidate
  1754.     ENDIF
  1755.  
  1756. ;
  1757. ; pascal OSErr ImageFieldSequenceBegin(ImageFieldSequence *ifs, ImageDescriptionHandle desc1, ImageDescriptionHandle desc2, ImageDescriptionHandle descOut)
  1758. ;
  1759.     IF ¬ GENERATINGCFM THEN
  1760.         Macro
  1761.         _ImageFieldSequenceBegin
  1762.             dc.w                $203C
  1763.             dc.w                $0010
  1764.             dc.w                $006D
  1765.             dc.w                $AAA3
  1766.         EndM
  1767.     ELSE
  1768.         IMPORT_CFM_FUNCTION ImageFieldSequenceBegin
  1769.     ENDIF
  1770.  
  1771. ;
  1772. ; pascal OSErr ImageFieldSequenceExtractCombine(ImageFieldSequence ifs, long fieldFlags, void *data1, long dataSize1, void *data2, long dataSize2, void *outputData, long *outDataSize)
  1773. ;
  1774.     IF ¬ GENERATINGCFM THEN
  1775.         Macro
  1776.         _ImageFieldSequenceExtractCombine
  1777.             dc.w                $203C
  1778.             dc.w                $0020
  1779.             dc.w                $0075
  1780.             dc.w                $AAA3
  1781.         EndM
  1782.     ELSE
  1783.         IMPORT_CFM_FUNCTION ImageFieldSequenceExtractCombine
  1784.     ENDIF
  1785.  
  1786. ;
  1787. ; pascal OSErr ImageFieldSequenceEnd(ImageFieldSequence ifs)
  1788. ;
  1789.     IF ¬ GENERATINGCFM THEN
  1790.         Macro
  1791.         _ImageFieldSequenceEnd
  1792.             dc.w                $203C
  1793.             dc.w                $0004
  1794.             dc.w                $0076
  1795.             dc.w                $AAA3
  1796.         EndM
  1797.     ELSE
  1798.         IMPORT_CFM_FUNCTION ImageFieldSequenceEnd
  1799.     ENDIF
  1800.  
  1801.  
  1802. identityMatrixType                EQU        $00                    ; result if matrix is identity 
  1803. translateMatrixType                EQU        $01                    ; result if matrix translates 
  1804. scaleMatrixType                    EQU        $02                    ; result if matrix scales 
  1805. scaleTranslateMatrixType        EQU        $03                    ; result if matrix scales and translates 
  1806. linearMatrixType                EQU        $04                    ; result if matrix is general 2 x 2 
  1807. linearTranslateMatrixType        EQU        $05                    ; result if matrix is general 2 x 2 and translates 
  1808. perspectiveMatrixType            EQU        $06                    ; result if matrix is general 3 x 3 
  1809. ; typedef unsigned short                 MatrixFlags
  1810.  
  1811. ;
  1812. ; pascal short GetMatrixType(const MatrixRecord *m)
  1813. ;
  1814.     IF ¬ GENERATINGCFM THEN
  1815.         Macro
  1816.         _GetMatrixType
  1817.             moveq               #20,d0
  1818.             dc.w                $ABC2
  1819.         EndM
  1820.     ELSE
  1821.         IMPORT_CFM_FUNCTION GetMatrixType
  1822.     ENDIF
  1823.  
  1824. ;
  1825. ; pascal void CopyMatrix(const MatrixRecord *m1, MatrixRecord *m2)
  1826. ;
  1827.     IF ¬ GENERATINGCFM THEN
  1828.         Macro
  1829.         _CopyMatrix
  1830.             moveq               #32,d0
  1831.             dc.w                $ABC2
  1832.         EndM
  1833.     ELSE
  1834.         IMPORT_CFM_FUNCTION CopyMatrix
  1835.     ENDIF
  1836.  
  1837. ;
  1838. ; pascal Boolean EqualMatrix(const MatrixRecord *m1, const MatrixRecord *m2)
  1839. ;
  1840.     IF ¬ GENERATINGCFM THEN
  1841.         Macro
  1842.         _EqualMatrix
  1843.             moveq               #33,d0
  1844.             dc.w                $ABC2
  1845.         EndM
  1846.     ELSE
  1847.         IMPORT_CFM_FUNCTION EqualMatrix
  1848.     ENDIF
  1849.  
  1850. ;
  1851. ; pascal void SetIdentityMatrix(MatrixRecord *matrix)
  1852. ;
  1853.     IF ¬ GENERATINGCFM THEN
  1854.         Macro
  1855.         _SetIdentityMatrix
  1856.             moveq               #21,d0
  1857.             dc.w                $ABC2
  1858.         EndM
  1859.     ELSE
  1860.         IMPORT_CFM_FUNCTION SetIdentityMatrix
  1861.     ENDIF
  1862.  
  1863. ;
  1864. ; pascal void TranslateMatrix(MatrixRecord *m, Fixed deltaH, Fixed deltaV)
  1865. ;
  1866.     IF ¬ GENERATINGCFM THEN
  1867.         Macro
  1868.         _TranslateMatrix
  1869.             moveq               #25,d0
  1870.             dc.w                $ABC2
  1871.         EndM
  1872.     ELSE
  1873.         IMPORT_CFM_FUNCTION TranslateMatrix
  1874.     ENDIF
  1875.  
  1876. ;
  1877. ; pascal void RotateMatrix(MatrixRecord *m, Fixed degrees, Fixed aboutX, Fixed aboutY)
  1878. ;
  1879.     IF ¬ GENERATINGCFM THEN
  1880.         Macro
  1881.         _RotateMatrix
  1882.             moveq               #22,d0
  1883.             dc.w                $ABC2
  1884.         EndM
  1885.     ELSE
  1886.         IMPORT_CFM_FUNCTION RotateMatrix
  1887.     ENDIF
  1888.  
  1889. ;
  1890. ; pascal void ScaleMatrix(MatrixRecord *m, Fixed scaleX, Fixed scaleY, Fixed aboutX, Fixed aboutY)
  1891. ;
  1892.     IF ¬ GENERATINGCFM THEN
  1893.         Macro
  1894.         _ScaleMatrix
  1895.             moveq               #23,d0
  1896.             dc.w                $ABC2
  1897.         EndM
  1898.     ELSE
  1899.         IMPORT_CFM_FUNCTION ScaleMatrix
  1900.     ENDIF
  1901.  
  1902. ;
  1903. ; pascal void SkewMatrix(MatrixRecord *m, Fixed skewX, Fixed skewY, Fixed aboutX, Fixed aboutY)
  1904. ;
  1905.     IF ¬ GENERATINGCFM THEN
  1906.         Macro
  1907.         _SkewMatrix
  1908.             moveq               #24,d0
  1909.             dc.w                $ABC2
  1910.         EndM
  1911.     ELSE
  1912.         IMPORT_CFM_FUNCTION SkewMatrix
  1913.     ENDIF
  1914.  
  1915. ;
  1916. ; pascal OSErr TransformFixedPoints(const MatrixRecord *m, FixedPoint *fpt, long count)
  1917. ;
  1918.     IF ¬ GENERATINGCFM THEN
  1919.         Macro
  1920.         _TransformFixedPoints
  1921.             moveq               #34,d0
  1922.             dc.w                $ABC2
  1923.         EndM
  1924.     ELSE
  1925.         IMPORT_CFM_FUNCTION TransformFixedPoints
  1926.     ENDIF
  1927.  
  1928. ;
  1929. ; pascal OSErr TransformPoints(const MatrixRecord *mp, Point *pt1, long count)
  1930. ;
  1931.     IF ¬ GENERATINGCFM THEN
  1932.         Macro
  1933.         _TransformPoints
  1934.             moveq               #35,d0
  1935.             dc.w                $ABC2
  1936.         EndM
  1937.     ELSE
  1938.         IMPORT_CFM_FUNCTION TransformPoints
  1939.     ENDIF
  1940.  
  1941. ;
  1942. ; pascal Boolean TransformFixedRect(const MatrixRecord *m, FixedRect *fr, FixedPoint *fpp)
  1943. ;
  1944.     IF ¬ GENERATINGCFM THEN
  1945.         Macro
  1946.         _TransformFixedRect
  1947.             moveq               #36,d0
  1948.             dc.w                $ABC2
  1949.         EndM
  1950.     ELSE
  1951.         IMPORT_CFM_FUNCTION TransformFixedRect
  1952.     ENDIF
  1953.  
  1954. ;
  1955. ; pascal Boolean TransformRect(const MatrixRecord *m, Rect *r, FixedPoint *fpp)
  1956. ;
  1957.     IF ¬ GENERATINGCFM THEN
  1958.         Macro
  1959.         _TransformRect
  1960.             moveq               #37,d0
  1961.             dc.w                $ABC2
  1962.         EndM
  1963.     ELSE
  1964.         IMPORT_CFM_FUNCTION TransformRect
  1965.     ENDIF
  1966.  
  1967. ;
  1968. ; pascal Boolean InverseMatrix(const MatrixRecord *m, MatrixRecord *im)
  1969. ;
  1970.     IF ¬ GENERATINGCFM THEN
  1971.         Macro
  1972.         _InverseMatrix
  1973.             moveq               #28,d0
  1974.             dc.w                $ABC2
  1975.         EndM
  1976.     ELSE
  1977.         IMPORT_CFM_FUNCTION InverseMatrix
  1978.     ENDIF
  1979.  
  1980. ;
  1981. ; pascal void ConcatMatrix(const MatrixRecord *a, MatrixRecord *b)
  1982. ;
  1983.     IF ¬ GENERATINGCFM THEN
  1984.         Macro
  1985.         _ConcatMatrix
  1986.             moveq               #27,d0
  1987.             dc.w                $ABC2
  1988.         EndM
  1989.     ELSE
  1990.         IMPORT_CFM_FUNCTION ConcatMatrix
  1991.     ENDIF
  1992.  
  1993. ;
  1994. ; pascal void RectMatrix(MatrixRecord *matrix, const Rect *srcRect, const Rect *dstRect)
  1995. ;
  1996.     IF ¬ GENERATINGCFM THEN
  1997.         Macro
  1998.         _RectMatrix
  1999.             moveq               #30,d0
  2000.             dc.w                $ABC2
  2001.         EndM
  2002.     ELSE
  2003.         IMPORT_CFM_FUNCTION RectMatrix
  2004.     ENDIF
  2005.  
  2006. ;
  2007. ; pascal void MapMatrix(MatrixRecord *matrix, const Rect *fromRect, const Rect *toRect)
  2008. ;
  2009.     IF ¬ GENERATINGCFM THEN
  2010.         Macro
  2011.         _MapMatrix
  2012.             moveq               #29,d0
  2013.             dc.w                $ABC2
  2014.         EndM
  2015.     ELSE
  2016.         IMPORT_CFM_FUNCTION MapMatrix
  2017.     ENDIF
  2018.  
  2019. ;
  2020. ; pascal void CompAdd(wide *src, wide *dst)
  2021. ;
  2022.     IF ¬ GENERATINGCFM THEN
  2023.         Macro
  2024.         _CompAdd
  2025.             moveq               #1,d0
  2026.             dc.w                $ABC2
  2027.         EndM
  2028.     ELSE
  2029.         IMPORT_CFM_FUNCTION CompAdd
  2030.     ENDIF
  2031.  
  2032. ;
  2033. ; pascal void CompSub(wide *src, wide *dst)
  2034. ;
  2035.     IF ¬ GENERATINGCFM THEN
  2036.         Macro
  2037.         _CompSub
  2038.             moveq               #2,d0
  2039.             dc.w                $ABC2
  2040.         EndM
  2041.     ELSE
  2042.         IMPORT_CFM_FUNCTION CompSub
  2043.     ENDIF
  2044.  
  2045. ;
  2046. ; pascal void CompNeg(wide *dst)
  2047. ;
  2048.     IF ¬ GENERATINGCFM THEN
  2049.         Macro
  2050.         _CompNeg
  2051.             moveq               #3,d0
  2052.             dc.w                $ABC2
  2053.         EndM
  2054.     ELSE
  2055.         IMPORT_CFM_FUNCTION CompNeg
  2056.     ENDIF
  2057.  
  2058. ;
  2059. ; pascal void CompShift(wide *src, short shift)
  2060. ;
  2061.     IF ¬ GENERATINGCFM THEN
  2062.         Macro
  2063.         _CompShift
  2064.             moveq               #4,d0
  2065.             dc.w                $ABC2
  2066.         EndM
  2067.     ELSE
  2068.         IMPORT_CFM_FUNCTION CompShift
  2069.     ENDIF
  2070.  
  2071. ;
  2072. ; pascal void CompMul(long src1, long src2, wide *dst)
  2073. ;
  2074.     IF ¬ GENERATINGCFM THEN
  2075.         Macro
  2076.         _CompMul
  2077.             moveq               #5,d0
  2078.             dc.w                $ABC2
  2079.         EndM
  2080.     ELSE
  2081.         IMPORT_CFM_FUNCTION CompMul
  2082.     ENDIF
  2083.  
  2084. ;
  2085. ; pascal long CompDiv(wide *numerator, long denominator, long *remainder)
  2086. ;
  2087.     IF ¬ GENERATINGCFM THEN
  2088.         Macro
  2089.         _CompDiv
  2090.             moveq               #6,d0
  2091.             dc.w                $ABC2
  2092.         EndM
  2093.     ELSE
  2094.         IMPORT_CFM_FUNCTION CompDiv
  2095.     ENDIF
  2096.  
  2097. ;
  2098. ; pascal void CompFixMul(wide *compSrc, Fixed fixSrc, wide *compDst)
  2099. ;
  2100.     IF ¬ GENERATINGCFM THEN
  2101.         Macro
  2102.         _CompFixMul
  2103.             moveq               #7,d0
  2104.             dc.w                $ABC2
  2105.         EndM
  2106.     ELSE
  2107.         IMPORT_CFM_FUNCTION CompFixMul
  2108.     ENDIF
  2109.  
  2110. ;
  2111. ; pascal void CompMulDiv(wide *co, long mul, long divisor)
  2112. ;
  2113.     IF ¬ GENERATINGCFM THEN
  2114.         Macro
  2115.         _CompMulDiv
  2116.             moveq               #8,d0
  2117.             dc.w                $ABC2
  2118.         EndM
  2119.     ELSE
  2120.         IMPORT_CFM_FUNCTION CompMulDiv
  2121.     ENDIF
  2122.  
  2123. ;
  2124. ; pascal void CompMulDivTrunc(wide *co, long mul, long divisor, long *remainder)
  2125. ;
  2126.     IF ¬ GENERATINGCFM THEN
  2127.         Macro
  2128.         _CompMulDivTrunc
  2129.             moveq               #12,d0
  2130.             dc.w                $ABC2
  2131.         EndM
  2132.     ELSE
  2133.         IMPORT_CFM_FUNCTION CompMulDivTrunc
  2134.     ENDIF
  2135.  
  2136. ;
  2137. ; pascal long CompCompare(wide *a, wide *minusb)
  2138. ;
  2139.     IF ¬ GENERATINGCFM THEN
  2140.         Macro
  2141.         _CompCompare
  2142.             moveq               #9,d0
  2143.             dc.w                $ABC2
  2144.         EndM
  2145.     ELSE
  2146.         IMPORT_CFM_FUNCTION CompCompare
  2147.     ENDIF
  2148.  
  2149. ;
  2150. ; pascal Fixed FixMulDiv(Fixed src, Fixed mul, Fixed divisor)
  2151. ;
  2152.     IF ¬ GENERATINGCFM THEN
  2153.         Macro
  2154.         _FixMulDiv
  2155.             moveq               #10,d0
  2156.             dc.w                $ABC2
  2157.         EndM
  2158.     ELSE
  2159.         IMPORT_CFM_FUNCTION FixMulDiv
  2160.     ENDIF
  2161.  
  2162. ;
  2163. ; pascal Fixed UnsignedFixMulDiv(Fixed src, Fixed mul, Fixed divisor)
  2164. ;
  2165.     IF ¬ GENERATINGCFM THEN
  2166.         Macro
  2167.         _UnsignedFixMulDiv
  2168.             moveq               #13,d0
  2169.             dc.w                $ABC2
  2170.         EndM
  2171.     ELSE
  2172.         IMPORT_CFM_FUNCTION UnsignedFixMulDiv
  2173.     ENDIF
  2174.  
  2175. ;
  2176. ; pascal Fract FracSinCos(Fixed degree, Fract *cosOut)
  2177. ;
  2178.     IF ¬ GENERATINGCFM THEN
  2179.         Macro
  2180.         _FracSinCos
  2181.             moveq               #11,d0
  2182.             dc.w                $ABC2
  2183.         EndM
  2184.     ELSE
  2185.         IMPORT_CFM_FUNCTION FracSinCos
  2186.     ENDIF
  2187.  
  2188. ;
  2189. ; pascal Fixed FixExp2(Fixed src)
  2190. ;
  2191.     IF ¬ GENERATINGCFM THEN
  2192.         Macro
  2193.         _FixExp2
  2194.             moveq               #14,d0
  2195.             dc.w                $ABC2
  2196.         EndM
  2197.     ELSE
  2198.         IMPORT_CFM_FUNCTION FixExp2
  2199.     ENDIF
  2200.  
  2201. ;
  2202. ; pascal Fixed FixLog2(Fixed src)
  2203. ;
  2204.     IF ¬ GENERATINGCFM THEN
  2205.         Macro
  2206.         _FixLog2
  2207.             moveq               #15,d0
  2208.             dc.w                $ABC2
  2209.         EndM
  2210.     ELSE
  2211.         IMPORT_CFM_FUNCTION FixLog2
  2212.     ENDIF
  2213.  
  2214. ;
  2215. ; pascal Fixed FixPow(Fixed base, Fixed exp)
  2216. ;
  2217.     IF ¬ GENERATINGCFM THEN
  2218.         Macro
  2219.         _FixPow
  2220.             moveq               #16,d0
  2221.             dc.w                $ABC2
  2222.         EndM
  2223.     ELSE
  2224.         IMPORT_CFM_FUNCTION FixPow
  2225.     ENDIF
  2226.  
  2227. ; typedef ComponentInstance             GraphicsImportComponent
  2228.  
  2229.  
  2230. GraphicsImporterComponentType    EQU        'grip'
  2231. ; * These are GraphicsImport procedures *
  2232. ;
  2233. ; pascal ComponentResult GraphicsImportSetDataReference(GraphicsImportComponent ci, Handle dataRef, OSType dataReType)
  2234. ;
  2235.     IF ¬ GENERATINGCFM THEN
  2236.         Macro
  2237.         _GraphicsImportSetDataReference
  2238.             dc.w                $2F3C
  2239.             dc.w                $0008
  2240.             dc.w                $0001
  2241.             moveq               #0,d0
  2242.             dc.w                $A82A
  2243.         EndM
  2244.     ELSE
  2245.         IMPORT_CFM_FUNCTION GraphicsImportSetDataReference
  2246.     ENDIF
  2247.  
  2248. ;
  2249. ; pascal ComponentResult GraphicsImportGetDataReference(GraphicsImportComponent ci, Handle *dataRef, OSType *dataReType)
  2250. ;
  2251.     IF ¬ GENERATINGCFM THEN
  2252.         Macro
  2253.         _GraphicsImportGetDataReference
  2254.             dc.w                $2F3C
  2255.             dc.w                $0008
  2256.             dc.w                $0002
  2257.             moveq               #0,d0
  2258.             dc.w                $A82A
  2259.         EndM
  2260.     ELSE
  2261.         IMPORT_CFM_FUNCTION GraphicsImportGetDataReference
  2262.     ENDIF
  2263.  
  2264. ;
  2265. ; pascal ComponentResult GraphicsImportSetDataFile(GraphicsImportComponent ci, const FSSpec *theFile)
  2266. ;
  2267.     IF ¬ GENERATINGCFM THEN
  2268.         Macro
  2269.         _GraphicsImportSetDataFile
  2270.             dc.w                $2F3C
  2271.             dc.w                $0004
  2272.             dc.w                $0003
  2273.             moveq               #0,d0
  2274.             dc.w                $A82A
  2275.         EndM
  2276.     ELSE
  2277.         IMPORT_CFM_FUNCTION GraphicsImportSetDataFile
  2278.     ENDIF
  2279.  
  2280. ;
  2281. ; pascal ComponentResult GraphicsImportGetDataFile(GraphicsImportComponent ci, FSSpec *theFile)
  2282. ;
  2283.     IF ¬ GENERATINGCFM THEN
  2284.         Macro
  2285.         _GraphicsImportGetDataFile
  2286.             dc.w                $2F3C
  2287.             dc.w                $0004
  2288.             dc.w                $0004
  2289.             moveq               #0,d0
  2290.             dc.w                $A82A
  2291.         EndM
  2292.     ELSE
  2293.         IMPORT_CFM_FUNCTION GraphicsImportGetDataFile
  2294.     ENDIF
  2295.  
  2296. ;
  2297. ; pascal ComponentResult GraphicsImportSetDataHandle(GraphicsImportComponent ci, Handle h)
  2298. ;
  2299.     IF ¬ GENERATINGCFM THEN
  2300.         Macro
  2301.         _GraphicsImportSetDataHandle
  2302.             dc.w                $2F3C
  2303.             dc.w                $0004
  2304.             dc.w                $0005
  2305.             moveq               #0,d0
  2306.             dc.w                $A82A
  2307.         EndM
  2308.     ELSE
  2309.         IMPORT_CFM_FUNCTION GraphicsImportSetDataHandle
  2310.     ENDIF
  2311.  
  2312. ;
  2313. ; pascal ComponentResult GraphicsImportGetDataHandle(GraphicsImportComponent ci, Handle *h)
  2314. ;
  2315.     IF ¬ GENERATINGCFM THEN
  2316.         Macro
  2317.         _GraphicsImportGetDataHandle
  2318.             dc.w                $2F3C
  2319.             dc.w                $0004
  2320.             dc.w                $0006
  2321.             moveq               #0,d0
  2322.             dc.w                $A82A
  2323.         EndM
  2324.     ELSE
  2325.         IMPORT_CFM_FUNCTION GraphicsImportGetDataHandle
  2326.     ENDIF
  2327.  
  2328. ;
  2329. ; pascal ComponentResult GraphicsImportGetImageDescription(GraphicsImportComponent ci, ImageDescriptionHandle *desc)
  2330. ;
  2331.     IF ¬ GENERATINGCFM THEN
  2332.         Macro
  2333.         _GraphicsImportGetImageDescription
  2334.             dc.w                $2F3C
  2335.             dc.w                $0004
  2336.             dc.w                $0007
  2337.             moveq               #0,d0
  2338.             dc.w                $A82A
  2339.         EndM
  2340.     ELSE
  2341.         IMPORT_CFM_FUNCTION GraphicsImportGetImageDescription
  2342.     ENDIF
  2343.  
  2344. ;
  2345. ; pascal ComponentResult GraphicsImportGetDataOffsetAndSize(GraphicsImportComponent ci, unsigned long *offset, unsigned long *size)
  2346. ;
  2347.     IF ¬ GENERATINGCFM THEN
  2348.         Macro
  2349.         _GraphicsImportGetDataOffsetAndSize
  2350.             dc.w                $2F3C
  2351.             dc.w                $0008
  2352.             dc.w                $0008
  2353.             moveq               #0,d0
  2354.             dc.w                $A82A
  2355.         EndM
  2356.     ELSE
  2357.         IMPORT_CFM_FUNCTION GraphicsImportGetDataOffsetAndSize
  2358.     ENDIF
  2359.  
  2360. ;
  2361. ; pascal ComponentResult GraphicsImportReadData(GraphicsImportComponent ci, void *dataPtr, unsigned long dataOffset, unsigned long dataSize)
  2362. ;
  2363.     IF ¬ GENERATINGCFM THEN
  2364.         Macro
  2365.         _GraphicsImportReadData
  2366.             dc.w                $2F3C
  2367.             dc.w                $000C
  2368.             dc.w                $0009
  2369.             moveq               #0,d0
  2370.             dc.w                $A82A
  2371.         EndM
  2372.     ELSE
  2373.         IMPORT_CFM_FUNCTION GraphicsImportReadData
  2374.     ENDIF
  2375.  
  2376. ;
  2377. ; pascal ComponentResult GraphicsImportSetClip(GraphicsImportComponent ci, RgnHandle clipRgn)
  2378. ;
  2379.     IF ¬ GENERATINGCFM THEN
  2380.         Macro
  2381.         _GraphicsImportSetClip
  2382.             dc.w                $2F3C
  2383.             dc.w                $0004
  2384.             dc.w                $000A
  2385.             moveq               #0,d0
  2386.             dc.w                $A82A
  2387.         EndM
  2388.     ELSE
  2389.         IMPORT_CFM_FUNCTION GraphicsImportSetClip
  2390.     ENDIF
  2391.  
  2392. ;
  2393. ; pascal ComponentResult GraphicsImportGetClip(GraphicsImportComponent ci, RgnHandle *clipRgn)
  2394. ;
  2395.     IF ¬ GENERATINGCFM THEN
  2396.         Macro
  2397.         _GraphicsImportGetClip
  2398.             dc.w                $2F3C
  2399.             dc.w                $0004
  2400.             dc.w                $000B
  2401.             moveq               #0,d0
  2402.             dc.w                $A82A
  2403.         EndM
  2404.     ELSE
  2405.         IMPORT_CFM_FUNCTION GraphicsImportGetClip
  2406.     ENDIF
  2407.  
  2408. ;
  2409. ; pascal ComponentResult GraphicsImportSetSourceRect(GraphicsImportComponent ci, const Rect *sourceRect)
  2410. ;
  2411.     IF ¬ GENERATINGCFM THEN
  2412.         Macro
  2413.         _GraphicsImportSetSourceRect
  2414.             dc.w                $2F3C
  2415.             dc.w                $0004
  2416.             dc.w                $000C
  2417.             moveq               #0,d0
  2418.             dc.w                $A82A
  2419.         EndM
  2420.     ELSE
  2421.         IMPORT_CFM_FUNCTION GraphicsImportSetSourceRect
  2422.     ENDIF
  2423.  
  2424. ;
  2425. ; pascal ComponentResult GraphicsImportGetSourceRect(GraphicsImportComponent ci, Rect *sourceRect)
  2426. ;
  2427.     IF ¬ GENERATINGCFM THEN
  2428.         Macro
  2429.         _GraphicsImportGetSourceRect
  2430.             dc.w                $2F3C
  2431.             dc.w                $0004
  2432.             dc.w                $000D
  2433.             moveq               #0,d0
  2434.             dc.w                $A82A
  2435.         EndM
  2436.     ELSE
  2437.         IMPORT_CFM_FUNCTION GraphicsImportGetSourceRect
  2438.     ENDIF
  2439.  
  2440. ;
  2441. ; pascal ComponentResult GraphicsImportGetNaturalBounds(GraphicsImportComponent ci, Rect *naturalBounds)
  2442. ;
  2443.     IF ¬ GENERATINGCFM THEN
  2444.         Macro
  2445.         _GraphicsImportGetNaturalBounds
  2446.             dc.w                $2F3C
  2447.             dc.w                $0004
  2448.             dc.w                $000E
  2449.             moveq               #0,d0
  2450.             dc.w                $A82A
  2451.         EndM
  2452.     ELSE
  2453.         IMPORT_CFM_FUNCTION GraphicsImportGetNaturalBounds
  2454.     ENDIF
  2455.  
  2456. ;
  2457. ; pascal ComponentResult GraphicsImportDraw(GraphicsImportComponent ci)
  2458. ;
  2459.     IF ¬ GENERATINGCFM THEN
  2460.         Macro
  2461.         _GraphicsImportDraw
  2462.             dc.w                $2F3C
  2463.             dc.w                $0000
  2464.             dc.w                $000F
  2465.             moveq               #0,d0
  2466.             dc.w                $A82A
  2467.         EndM
  2468.     ELSE
  2469.         IMPORT_CFM_FUNCTION GraphicsImportDraw
  2470.     ENDIF
  2471.  
  2472. ;
  2473. ; pascal ComponentResult GraphicsImportSetGWorld(GraphicsImportComponent ci, CGrafPtr port, GDHandle gd)
  2474. ;
  2475.     IF ¬ GENERATINGCFM THEN
  2476.         Macro
  2477.         _GraphicsImportSetGWorld
  2478.             dc.w                $2F3C
  2479.             dc.w                $0008
  2480.             dc.w                $0010
  2481.             moveq               #0,d0
  2482.             dc.w                $A82A
  2483.         EndM
  2484.     ELSE
  2485.         IMPORT_CFM_FUNCTION GraphicsImportSetGWorld
  2486.     ENDIF
  2487.  
  2488. ;
  2489. ; pascal ComponentResult GraphicsImportGetGWorld(GraphicsImportComponent ci, CGrafPtr *port, GDHandle *gd)
  2490. ;
  2491.     IF ¬ GENERATINGCFM THEN
  2492.         Macro
  2493.         _GraphicsImportGetGWorld
  2494.             dc.w                $2F3C
  2495.             dc.w                $0008
  2496.             dc.w                $0011
  2497.             moveq               #0,d0
  2498.             dc.w                $A82A
  2499.         EndM
  2500.     ELSE
  2501.         IMPORT_CFM_FUNCTION GraphicsImportGetGWorld
  2502.     ENDIF
  2503.  
  2504. ;
  2505. ; pascal ComponentResult GraphicsImportSetMatrix(GraphicsImportComponent ci, const MatrixRecord *matrix)
  2506. ;
  2507.     IF ¬ GENERATINGCFM THEN
  2508.         Macro
  2509.         _GraphicsImportSetMatrix
  2510.             dc.w                $2F3C
  2511.             dc.w                $0004
  2512.             dc.w                $0012
  2513.             moveq               #0,d0
  2514.             dc.w                $A82A
  2515.         EndM
  2516.     ELSE
  2517.         IMPORT_CFM_FUNCTION GraphicsImportSetMatrix
  2518.     ENDIF
  2519.  
  2520. ;
  2521. ; pascal ComponentResult GraphicsImportGetMatrix(GraphicsImportComponent ci, MatrixRecord *matrix)
  2522. ;
  2523.     IF ¬ GENERATINGCFM THEN
  2524.         Macro
  2525.         _GraphicsImportGetMatrix
  2526.             dc.w                $2F3C
  2527.             dc.w                $0004
  2528.             dc.w                $0013
  2529.             moveq               #0,d0
  2530.             dc.w                $A82A
  2531.         EndM
  2532.     ELSE
  2533.         IMPORT_CFM_FUNCTION GraphicsImportGetMatrix
  2534.     ENDIF
  2535.  
  2536. ;
  2537. ; pascal ComponentResult GraphicsImportSetBoundsRect(GraphicsImportComponent ci, const Rect *bounds)
  2538. ;
  2539.     IF ¬ GENERATINGCFM THEN
  2540.         Macro
  2541.         _GraphicsImportSetBoundsRect
  2542.             dc.w                $2F3C
  2543.             dc.w                $0004
  2544.             dc.w                $0014
  2545.             moveq               #0,d0
  2546.             dc.w                $A82A
  2547.         EndM
  2548.     ELSE
  2549.         IMPORT_CFM_FUNCTION GraphicsImportSetBoundsRect
  2550.     ENDIF
  2551.  
  2552. ;
  2553. ; pascal ComponentResult GraphicsImportGetBoundsRect(GraphicsImportComponent ci, Rect *bounds)
  2554. ;
  2555.     IF ¬ GENERATINGCFM THEN
  2556.         Macro
  2557.         _GraphicsImportGetBoundsRect
  2558.             dc.w                $2F3C
  2559.             dc.w                $0004
  2560.             dc.w                $0015
  2561.             moveq               #0,d0
  2562.             dc.w                $A82A
  2563.         EndM
  2564.     ELSE
  2565.         IMPORT_CFM_FUNCTION GraphicsImportGetBoundsRect
  2566.     ENDIF
  2567.  
  2568. ;
  2569. ; pascal ComponentResult GraphicsImportSaveAsPicture(GraphicsImportComponent ci, const FSSpec *fss, ScriptCode scriptTag)
  2570. ;
  2571.     IF ¬ GENERATINGCFM THEN
  2572.         Macro
  2573.         _GraphicsImportSaveAsPicture
  2574.             dc.w                $2F3C
  2575.             dc.w                $0006
  2576.             dc.w                $0016
  2577.             moveq               #0,d0
  2578.             dc.w                $A82A
  2579.         EndM
  2580.     ELSE
  2581.         IMPORT_CFM_FUNCTION GraphicsImportSaveAsPicture
  2582.     ENDIF
  2583.  
  2584. ;
  2585. ; pascal ComponentResult GraphicsImportSetGraphicsMode(GraphicsImportComponent ci, long graphicsMode, const RGBColor *opColor)
  2586. ;
  2587.     IF ¬ GENERATINGCFM THEN
  2588.         Macro
  2589.         _GraphicsImportSetGraphicsMode
  2590.             dc.w                $2F3C
  2591.             dc.w                $0008
  2592.             dc.w                $0017
  2593.             moveq               #0,d0
  2594.             dc.w                $A82A
  2595.         EndM
  2596.     ELSE
  2597.         IMPORT_CFM_FUNCTION GraphicsImportSetGraphicsMode
  2598.     ENDIF
  2599.  
  2600. ;
  2601. ; pascal ComponentResult GraphicsImportGetGraphicsMode(GraphicsImportComponent ci, long *graphicsMode, RGBColor *opColor)
  2602. ;
  2603.     IF ¬ GENERATINGCFM THEN
  2604.         Macro
  2605.         _GraphicsImportGetGraphicsMode
  2606.             dc.w                $2F3C
  2607.             dc.w                $0008
  2608.             dc.w                $0018
  2609.             moveq               #0,d0
  2610.             dc.w                $A82A
  2611.         EndM
  2612.     ELSE
  2613.         IMPORT_CFM_FUNCTION GraphicsImportGetGraphicsMode
  2614.     ENDIF
  2615.  
  2616. ;
  2617. ; pascal ComponentResult GraphicsImportSetQuality(GraphicsImportComponent ci, CodecQ quality)
  2618. ;
  2619.     IF ¬ GENERATINGCFM THEN
  2620.         Macro
  2621.         _GraphicsImportSetQuality
  2622.             dc.w                $2F3C
  2623.             dc.w                $0004
  2624.             dc.w                $0019
  2625.             moveq               #0,d0
  2626.             dc.w                $A82A
  2627.         EndM
  2628.     ELSE
  2629.         IMPORT_CFM_FUNCTION GraphicsImportSetQuality
  2630.     ENDIF
  2631.  
  2632. ;
  2633. ; pascal ComponentResult GraphicsImportGetQuality(GraphicsImportComponent ci, CodecQ *quality)
  2634. ;
  2635.     IF ¬ GENERATINGCFM THEN
  2636.         Macro
  2637.         _GraphicsImportGetQuality
  2638.             dc.w                $2F3C
  2639.             dc.w                $0004
  2640.             dc.w                $001A
  2641.             moveq               #0,d0
  2642.             dc.w                $A82A
  2643.         EndM
  2644.     ELSE
  2645.         IMPORT_CFM_FUNCTION GraphicsImportGetQuality
  2646.     ENDIF
  2647.  
  2648. ;
  2649. ; pascal ComponentResult GraphicsImportSaveAsQuickTimeImageFile(GraphicsImportComponent ci, const FSSpec *fss, ScriptCode scriptTag)
  2650. ;
  2651.     IF ¬ GENERATINGCFM THEN
  2652.         Macro
  2653.         _GraphicsImportSaveAsQuickTimeImageFile
  2654.             dc.w                $2F3C
  2655.             dc.w                $0006
  2656.             dc.w                $001B
  2657.             moveq               #0,d0
  2658.             dc.w                $A82A
  2659.         EndM
  2660.     ELSE
  2661.         IMPORT_CFM_FUNCTION GraphicsImportSaveAsQuickTimeImageFile
  2662.     ENDIF
  2663.  
  2664. ;
  2665. ; pascal ComponentResult GraphicsImportSetDataReferenceOffsetAndLimit(GraphicsImportComponent ci, unsigned long offset, unsigned long limit)
  2666. ;
  2667.     IF ¬ GENERATINGCFM THEN
  2668.         Macro
  2669.         _GraphicsImportSetDataReferenceOffsetAndLimit
  2670.             dc.w                $2F3C
  2671.             dc.w                $0008
  2672.             dc.w                $001C
  2673.             moveq               #0,d0
  2674.             dc.w                $A82A
  2675.         EndM
  2676.     ELSE
  2677.         IMPORT_CFM_FUNCTION GraphicsImportSetDataReferenceOffsetAndLimit
  2678.     ENDIF
  2679.  
  2680. ;
  2681. ; pascal ComponentResult GraphicsImportGetDataReferenceOffsetAndLimit(GraphicsImportComponent ci, unsigned long *offset, unsigned long *limit)
  2682. ;
  2683.     IF ¬ GENERATINGCFM THEN
  2684.         Macro
  2685.         _GraphicsImportGetDataReferenceOffsetAndLimit
  2686.             dc.w                $2F3C
  2687.             dc.w                $0008
  2688.             dc.w                $001D
  2689.             moveq               #0,d0
  2690.             dc.w                $A82A
  2691.         EndM
  2692.     ELSE
  2693.         IMPORT_CFM_FUNCTION GraphicsImportGetDataReferenceOffsetAndLimit
  2694.     ENDIF
  2695.  
  2696. ;
  2697. ; pascal ComponentResult GraphicsImportGetAliasedDataReference(GraphicsImportComponent ci, Handle *dataRef, OSType *dataRefType)
  2698. ;
  2699.     IF ¬ GENERATINGCFM THEN
  2700.         Macro
  2701.         _GraphicsImportGetAliasedDataReference
  2702.             dc.w                $2F3C
  2703.             dc.w                $0008
  2704.             dc.w                $001E
  2705.             moveq               #0,d0
  2706.             dc.w                $A82A
  2707.         EndM
  2708.     ELSE
  2709.         IMPORT_CFM_FUNCTION GraphicsImportGetAliasedDataReference
  2710.     ENDIF
  2711.  
  2712. ;
  2713. ; pascal ComponentResult GraphicsImportValidate(GraphicsImportComponent ci, Boolean *valid)
  2714. ;
  2715.     IF ¬ GENERATINGCFM THEN
  2716.         Macro
  2717.         _GraphicsImportValidate
  2718.             dc.w                $2F3C
  2719.             dc.w                $0004
  2720.             dc.w                $001F
  2721.             moveq               #0,d0
  2722.             dc.w                $A82A
  2723.         EndM
  2724.     ELSE
  2725.         IMPORT_CFM_FUNCTION GraphicsImportValidate
  2726.     ENDIF
  2727.  
  2728. ; typedef ComponentInstance             ImageTranscoderComponent
  2729.  
  2730.  
  2731. ImageTranscodererComponentType    EQU        'imtc'
  2732. ; * These are ImageTranscoder procedures *
  2733. ;
  2734. ; pascal ComponentResult ImageTranscoderBeginSequence(ImageTranscoderComponent itc, ImageDescriptionHandle srcDesc, ImageDescriptionHandle *dstDesc, void *data, long dataSize)
  2735. ;
  2736.     IF ¬ GENERATINGCFM THEN
  2737.         Macro
  2738.         _ImageTranscoderBeginSequence
  2739.             dc.w                $2F3C
  2740.             dc.w                $0010
  2741.             dc.w                $0001
  2742.             moveq               #0,d0
  2743.             dc.w                $A82A
  2744.         EndM
  2745.     ELSE
  2746.         IMPORT_CFM_FUNCTION ImageTranscoderBeginSequence
  2747.     ENDIF
  2748.  
  2749. ;
  2750. ; pascal ComponentResult ImageTranscoderConvert(ImageTranscoderComponent itc, void *srcData, long srcDataSize, void **dstData, long *dstDataSize)
  2751. ;
  2752.     IF ¬ GENERATINGCFM THEN
  2753.         Macro
  2754.         _ImageTranscoderConvert
  2755.             dc.w                $2F3C
  2756.             dc.w                $0010
  2757.             dc.w                $0002
  2758.             moveq               #0,d0
  2759.             dc.w                $A82A
  2760.         EndM
  2761.     ELSE
  2762.         IMPORT_CFM_FUNCTION ImageTranscoderConvert
  2763.     ENDIF
  2764.  
  2765. ;
  2766. ; pascal ComponentResult ImageTranscoderDisposeData(ImageTranscoderComponent itc, void *dstData)
  2767. ;
  2768.     IF ¬ GENERATINGCFM THEN
  2769.         Macro
  2770.         _ImageTranscoderDisposeData
  2771.             dc.w                $2F3C
  2772.             dc.w                $0004
  2773.             dc.w                $0003
  2774.             moveq               #0,d0
  2775.             dc.w                $A82A
  2776.         EndM
  2777.     ELSE
  2778.         IMPORT_CFM_FUNCTION ImageTranscoderDisposeData
  2779.     ENDIF
  2780.  
  2781. ;
  2782. ; pascal ComponentResult ImageTranscoderEndSequence(ImageTranscoderComponent itc)
  2783. ;
  2784.     IF ¬ GENERATINGCFM THEN
  2785.         Macro
  2786.         _ImageTranscoderEndSequence
  2787.             dc.w                $2F3C
  2788.             dc.w                $0000
  2789.             dc.w                $0004
  2790.             moveq               #0,d0
  2791.             dc.w                $A82A
  2792.         EndM
  2793.     ELSE
  2794.         IMPORT_CFM_FUNCTION ImageTranscoderEndSequence
  2795.     ENDIF
  2796.  
  2797. ;  UPP call backs 
  2798.     ENDIF ; __IMAGECOMPRESSION__ 
  2799.  
  2800.